C# & VB.NET2006. 2. 23. 16:10

IIS의 기본 인증으로 설정된 웹서비스의 경우를 호출하기 위해서는 실제 기본 인증의 개념 그대로, ID, PW 를 넘겨줘야 인증을 통과할 수가 있다. 그냥 호출하게 되면 UnauthorizedAccessException이 발생하게 된다.

  1. localhost.Service1 oService = new WebApplication.localhost.Service1();
  2. //ID, PW, 도메인 이름으로 새로운 Credential 을 생성한다
  3. System.Net.NetworkCredential oCredential = new System.Net.NetworkCredential("id", "pw", "domain_name");
  4. System.Net.CredentialCache oCache = new System.Net.CredentialCache();
  5. oCache.Add(new Uri(oService.Url), "Basic", oCredential);
  6. //호출하는 서비스의 Credential을 위에서 만든 새로운 Credential로 생성한다.
  7. oService.Credentials = oCache;
  8. Response.Write(oService.HelloWorld());

통합인증의 경우는 아래 코드처럼 현재 로그인한 사용자의 Credential로 넘기면 호출할 수 있다.

  1. oService.Credentials = System.Net.CredentialCache.DefaultCredentials;
 
Posted by kkongchi