기존 asp.net 인트라넷 응용 프로그램에 웹 서비스를 추가했습니다. 그 목적은 동일한 도메인의 다른 인트라넷 응용 프로그램에 기능을 제공하는 것입니다.웹 서비스 - Windows 인증
인트라넷 응용 프로그램은 Windows 인증을 사용합니다. Windows 인증을 사용하도록 웹 서비스를 설정하려면 어떻게해야합니까?
기존 asp.net 인트라넷 응용 프로그램에 웹 서비스를 추가했습니다. 그 목적은 동일한 도메인의 다른 인트라넷 응용 프로그램에 기능을 제공하는 것입니다.웹 서비스 - Windows 인증
인트라넷 응용 프로그램은 Windows 인증을 사용합니다. Windows 인증을 사용하도록 웹 서비스를 설정하려면 어떻게해야합니까?
Client.localhost.Service1 service = new Client.localhost.Service1();
service.Credentials = new System.Net.NetworkCredential("username", "pass", "");
Windows 인증을 사용하도록 웹 서비스를 설정하는 것은 쉽습니다. IIS에서 인증 모드를 변경하기 만하면됩니다!
해당 서비스와 통신하는 것은 또 다른 문제입니다. 우선, 소비 애플리케이션의 웹 설정에서 서비스 참조를 올바르게 설정해야합니다. 아래 보안 섹션은이 기능을 작동시키는 데있어 가장 중요한 부분입니다.
<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>
그런 다음, 당신은 당신이 그것을 사용하기 전에 클라이언트 객체의 윈도우 자격 증명을 설정해야합니다.
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 응용 프로그램의 아주 작은 부분을 노출하는 것은 나쁜 습관이라고 생각합니까? 다른 내부 응용 프로그램과 연결되는 내부 응용 프로그램입니다. – w0051977
두 응용 프로그램이 통신 할 수 있도록 작은 웹 서비스를 만드는 것은 좋지 않지만 다른 의견을 환영합니다. – SouthShoreAK
감사합니다. 당신은 답안의 web.config 코드를 인용했습니다. 웹 서비스에 대한 서비스 참조를 만드는 경우이 코드가 자동으로 생성됩니까? – w0051977
정적 IP를 사용하는 경우 사용자가 어떤 IP를 사용하고 있는지 테이블을 유지하십시오. –