問題は何ですか?現在のWindowsユーザー資格情報を使用してExchange Serverに接続するにはどうすればよいですか?
VS2013には、Exchange Server 2010 SP2、IIS 7.5、およびコンソールアプリケーションがあります。
だから我々は次のことを行っている:
TimeZoneInfo timeZone = TimeZoneInfo.Local;
ExchangeService EWSservice = new ExchangeService(ExchangeVersion.Exchange2010_SP2, timeZone);
//EWSservice.Url = new Uri("our url");
EWSservice.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback);
URLを定義するには、両方の方法が働いています。 資格情報を設定しようとしています:
EWSservice.Credentials = new WebCredentials("[email protected]", "mypass");
これも機能します。しかし、現在のWindowsユーザー資格情報を使用して接続したいと考えています。使用してクラッシュしていたいくつかのコードサンプル:
EWSservice.Credentials = new WebCredentials(CredentialCache.DefaultCredentials);
EWSservice.UseDefaultCredentials = true;
EWSservice.Credentials = (NetworkCredential)CredentialCache.DefaultCredentials;
は、このすべてが401エラーを返しました:不正な
をまた、私はこのようなapp.configをを編集した - しかし、それは動作しません。そして、
<authentication mode="Windows">
</authentication>
<identity impersonate="false"/>
<!--Other stuff-->
</authentication>
、私は認証モードについて読むと、これを発見した: Windows User getting "access denied" from exchange server
管理者が持っています
:このデリゲートオプションが設定されますが、接続がまだ機能していません...
EWSservice.TraceEnabled = true;
今、私はこれを追加しました
と私はコンソールでExchangeの応答を取得:
HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Wed, 20 Apr 2016 07:59:01 GMT
Set-Cookie: exchangecookie=bfab7cdda62a4bf8be5b43689199fcf6; expires=Thu, 20-Apr
-2017 07:59:02 GMT; path=/; HttpOnly
Server: Microsoft-IIS/7.5
WWW-Authenticate: Basic realm="our-domain"
X-Powered-By: ASP.NET
任意のアイデア?
だからアプリケーションが失敗したり、ASPでこれをやろうとしているコンソールです。ネット?あなたは、フィドラーでのリクエストを見て、認証ヘッダー(BasicやNTLMなど)が使用しようとしているものを見てみたいかもしれません。これは古いですが、EWS Managed APIではまだHttpwebrequestを使用しています。https://blogs.msdn.microsoft.com/buckh/2004/07/28/authentication-in-web-services-with-httpwebrequest/ –
その発生コンソールアプリケーションで。 HttpWebRequestを使用すると401エラーも返される –