【问题标题】:IIS, Impersonation and COM Interop. Permission DeniedIIS、模拟和 COM 互操作。没有权限
【发布时间】:2011-02-07 12:57:36
【问题描述】:

我们正处于将文档管理系统与 Dynamic CRM 4 集成的阵痛之中。 我们之前做过类似的事情,但在这种情况下,我们必须引用一个 COM dll。

我们已经配置了 asp.net 页面(我们通过 CRM 中的 iFrame 引入信息),在 Web.config 中设置 Impersonation = True 并确保 Windows 身份验证是 IIS 中唯一可用的方法。

这一切都像我们在登录服务器时所期望的那样工作;该页面愉快地打开并找到 CRM 帐户的所有相关文档,并以漂亮的 Infragistics CRM 样式网格将它们呈现给用户。但是,从客户端工作站尝试此操作会得到以下结果:

System.Runtime.InteropServices.COMException (0xC0042335):权限被拒绝。

模拟似乎传递了正确的细节,但到目前为止,我们尝试过的任何方法都无法在登录服务器之外完成这项工作。关于我们缺少什么的任何想法?

【问题讨论】:

    标签: iis interop impersonation crm


    【解决方案1】:

    这可能是多跳 Kerberos 问题。文档管理系统是否存在于另一台物理服务器上?如果是这样,您可能需要在 Active Directory 中的计算机帐户上启用委派,假设您使用默认设置(运行应用程序池的网络服务)安装了 CRM。模拟与委派不同 - 模拟仅在访问本地服务器上的资源时有效。如果您代表用户访问另一台服务器上的资源,您还需要启用委派。这是一个向您展示如何操作的链接:

    http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsDelegation.html

    完成这些更改后,让您的 AD 管理员强制进行复制,然后注销并重新登录到您的工作站以刷新您的 Kerberos 票证缓存。

    【讨论】:

    • 非常感谢您的回答,问题在于您已确定 Kerberos 身份验证。不幸的是,无法查看上面的链接,但现在已经解决了这个问题。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多