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") 
    }; 

私は疑問に思っていました。パスワードを尋ねることはできません。ユーザーがすでにOulookクライアントからログインしている場合は、

答えて

0

MS Exchange環境によって異なります。 MSExchange環境でKerberosenabledの場合は、使用する可能性がありますが、アプリケーションがEWSにアクセスする方法によって異なります。マイクロソフトは、ここにそのための同様の記事があります。 EWS from a Web Application using Windows Authentication and Impersonation

キープは、Kerberosがデフォルトごとに、ほとんどのMS Exchange環境の場所でNTLMで有効isn'tことを指摘しました。また、Kerberosはドメインコンテキストでのみ動作することにも注意してください。つまり、Outlook(およびあなたのソフトウェア)が動作しているPCがアクティブディレクトリドメインに参加していない場合、Kerberosは動作していません(hereも参照)。しかし、あなたのコードでそれをチェックし、Kerberosが動作するかどうかをチェックしたい場合は、パスワードを要求することができます(認証のネゴシエーション、これはhereにチェックしてください)。

関連する問題