WCF服务和ActiveDirectory

时间:2009-11-28 14:36:18

标签: wcf active-directory

我正在使用WCF调用来使用ActiveDirectory的任何更改来更新我的数据库。 我通过客户端浏览器调用此WCF功能,并且函数trys在servive内部从AD获取详细信息。但问题是AD需要UserName和Password来获取任何记录。

请告知我如何解决此问题,以便自动接受凭证中的Windows自动接受并读取AD。

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

由于

维克拉姆

1 个答案:

答案 0 :(得分:2)

对Active Directory的调用来自该服务。

该服务的默认设置为impersonate = false,应用程序池的标识为NETWORK SERVICE。

因此,对AD的调用是在网络服务的安全上下文中进行的,该服务没有正确的访问权限,因为它是一个机器本地帐户,所以不能给它们。

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

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