既存のasp.netイントラネットアプリケーションにWebサービスを追加しました。目的は、同じドメイン上の他のイントラネットアプリケーションに機能を公開することです。Webサービス - Windows認証
イントラネットアプリケーションはWindows認証を使用します。 Windows認証を使用するようにWebサービスを設定するにはどうすればよいですか?
既存のasp.netイントラネットアプリケーションにWebサービスを追加しました。目的は、同じドメイン上の他のイントラネットアプリケーションに機能を公開することです。Webサービス - Windows認証
イントラネットアプリケーションはWindows認証を使用します。 Windows認証を使用するようにWebサービスを設定するにはどうすればよいですか?
Client.localhost.Service1 service = new Client.localhost.Service1();
service.Credentials = new System.Net.NetworkCredential("username", "pass", "");
Windows認証を使用するようにWebサービスを設定するのは簡単です。 IISで認証モードを変更するだけです!
このサービスと通信することは別の問題です。まず、消費アプリケーションのWeb設定でサービス参照を適切に設定する必要があります。以下のセキュリティセクションは、これを動作させるための最も重要な部分です。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ServiceSoap" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://yourservice.com/Service.asmx"
binding="basicHttpBinding" bindingConfiguration="ServiceSoap"
contract="ServiceClient.IServiceSoap" name="ServiceSoap" />
</client>
その後、あなたはそれを使用して開始する前に、クライアントオブジェクトのWindowsの資格情報を設定する必要があります。
var credentials = ServiceSoapClient.ClientCredentials;
credentials.Windows.ClientCredential.Domain = "domain";
credentials.Windows.ClientCredential.UserName = "user";
credentials.Windows.ClientCredential.Password = "pwd";
credentials.Windows.AllowNtlm = true;
ASP.NETアプリケーションの非常に小さな部分をWebサービスで公開するのは悪い習慣だと思いますか?別の内部アプリケーションにリンクする内部アプリケーションです。 – w0051977
2つのアプリケーションが通信できるように小さなWebサービスを作成するのは悪い習慣だとは思わないが、私は他の意見も歓迎する。 – SouthShoreAK
ありがとうございます。あなたはあなたの答えにweb.configのコードを引用しています。このコードは、Webサービスのサービス参照を作成すると自動的に生成されますか? – w0051977
スタティックIPを使用している場合は、どのユーザーがどのIPにいるのかの表を保管してください。 –