【问题标题】:System.DirectoryServices.AccountManagement not working on the serverSystem.DirectoryServices.AccountManagement 在服务器上不起作用
【发布时间】:2010-03-17 15:18:19
【问题描述】:

我正在使用System.DirectoryServices.AccountManagement 来查找登录用户的AD 条目。它在开发人员机器上的 VS2008 WebDev 服务器上运行良好。

但是当我们在开发服务器(windows server 2008)上安装代码时,我们得到一个访问错误。

开发者的机器和开发服务器都是同一个域的成员。

我们启用了模拟,因此我们使用相同的用户凭据连接到 AD。

我们在这里缺少什么?为什么它在开发者的机器上运行,而不是在开发服务器上运行?

我们收到的实际异常是“发生操作错误”。

【问题讨论】:

    标签: asp.net-mvc active-directory windows-server-2008


    【解决方案1】:

    经过一番研究,我找到了以下链接:http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/c314650a-ff5e-49e6-8f53-9a7cca17e806

    其中一位用户描述了问题的解决方案:

    我看到了这个错误,这与在 web.config 中使用 NTLM 身份验证和模拟设置为 true 时,IIS 无法将经过身份验证的令牌用于另一台服务器的事实有关,因为它是“辅助令牌”。

    我的问题的解决方案是将我的 Active Directory 代码包装为:

     using( HostingEnvironment.Impersonate() )
     {
        //Active Directory search goes here.
     }
    

    这会以应用程序池的身份调用 AD,这在我的案例中起到了作用。

    【讨论】:

      【解决方案2】:

      我只是在四处寻找修复错误 System.DirectoryServices.DirectoryServicesCOMException

      使用 UserPrincipal.FindByIdentity 后

      mlsteeves 的回答正是我所需要的,在生产服务器上模拟主机环境!

      非常好,这是关于服务器上的委派,您的解决方案非常完美,非常感谢!

      【讨论】:

        猜你喜欢
        • 2012-09-03
        • 1970-01-01
        • 2015-11-24
        • 1970-01-01
        • 2017-05-17
        • 2015-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多