代码之家  ›  专栏  ›  技术社区  ›  Dennis C

从ASP.NET调用具有相同单点登录用户LogonUserIdentity的WCF

  •  0
  • Dennis C  · 技术社区  · 16 年前

    该系统是使用NTML的单点登录。 ASP页面和WCF都将使用UserIdentity来获取用户登录信息。

    除了NTML之外,我还将在同一个系统中使用基于表单的授权(带有AD)。

    ASP页面,很简单,我可以从HttpContext.Current.Request.LogonUserIdentity获得它。

    然而,它似乎是缺少从WCF的ASP调用,而不是从浏览器。

    如何配置从ASP到WCF的ID传递?

    1 回复  |  直到 15 年前
        1
  •  0
  •   rohancragg    16 年前

    在我看来,您需要对原始用户执行“模拟”,这将允许您将原始呼叫者的身份传递给WCF服务。

    请参阅本指南: Impersonation and Delegation in WCF

    尽管您已将ASP.NET配置为通过NTLM对呼叫者进行身份验证,但工作进程仍以计算机标识运行(取决于您在IIS中的配置)。你需要 explicitly impersonate the caller

    更新:另见授权- WCF Gotcha #2

    use the IdentityModel 还有一个WindowsClaimSet

    推荐文章