0

Exchange API를 사용하여 사내 구축 환경의 Exchange 서버에서 사용자의 연락처를 가져 오는 응용 프로그램을 빌드하고 있습니다. 현재 접근법은 사용자에게 사용자 이름 & 암호를 요구하는 것입니다.Exchange Server 2013에서 WebApp를 인증하는 방법은 무엇입니까?

var service = new ExchangeService(ExchangeVersion.Exchange2013) 
    { 
     Credentials = new WebCredentials(credentials.UserName, credentials.Password), 
     TraceEnabled = false, 
     Url = new Uri("https://mail.*****.com/EWS/Exchange.asmx") 
    }; 

궁금한 점 암호를 묻는 것이 가능하지 않은 경우 사용자가 이미 MS Oulook 클라이언트에서 로그인 한 경우?

답변

0

MS Exchange 환경에 따라 다릅니다. MS Exchange 환경에서 Kerberosenabled 인 경우 사용할 수 있습니다 (그러나 응용 프로그램이 EWS에 액세스하는 방법에 따라 다름). Microsoft는 여기에 비슷한 기사를 가지고 있습니다. EWS from a Web Application using Windows Authentication and Impersonation

Kerberos는 기본값 및 대부분의 MS Exchange 환경에서 사용 가능하지 않습니다. NTLM은 그대로 유지됩니다. Kerberos는 도메인 컨텍스트를 통해서만 작동한다는 점에 유의하십시오. 즉, Outlook (및 소프트웨어)이 실행되고있는 PC가 활성 디렉토리 도메인에 가입되어 있지 않으면 Kerberos가 작동하지 않습니다 (here 참조). 그러나 코드에서 Kerberos가 작동하는지 확인하고, Kerberos를 사용할 수있는 경우 암호를 사용자에게 물어볼 수 있습니다 (인증 협상,이 경우 here을 확인하십시오).