2009-11-28 49 views
1

我正在使用WCF调用来更新我的数据库与来自ActiveDirectory的任何更改。 我通过客户端浏览器调用这个WCF functin,并且该函数在servl本身中从AD获取详细信息。然而问题是AD需要用户名和密码来获取任何记录。WCF服务和ActiveDirectory

请告诉我如何克服这个问题,以便凭证中的Windows自动被接受并读取AD。

我正在使用wsHttPBinding,安全性:message和clientCredentials =“Windows”。

感谢

维克拉姆

回答

2

Active Directory的呼叫从服务去。

该服务的默认设置是冒充= FALSE和应用程序池的标识是NETWORK SERVICE。

因此,调用AD会在网络服务,不正确的访问的安全上下文,并且不能给他们,因为这是一台机器的本地帐户。

有3种方法可以解决这个问题。

  • 设置身份验证=在web.config允许访问AD真正在主叫用户的安全上下文来完成。
  • 将应用程序池的标识更改为允许访问AD的域用户的标识。请务必将此用户添加到本地IIS_WPG组。
  • 存储被允许访问AD,在web.config文件中,并使用这些凭据访问AD用户的用户名和密码。