【问题标题】:Pass Claims between two ASP.NET 3.5 web sites在两个 ASP.NET 3.5 网站之间传递声明
【发布时间】:2017-03-25 07:05:48
【问题描述】:

我有两个 ASP.NET 3.5 网站,我需要将声明从一个站点传递到另一个站点。

我在一个网站上登录,我可以看到如下声明:

var claimIdentity = (Context.User.Identity as Microsoft.IdentityModel.Claims.IClaimsIdentity);
claimIdentity.Claims.Add(new Claim(ClaimTypes.Role, "Manager"));

但在另一个网站上,我没有看到索赔被通过。
我在站点之间使用表单身份验证,机器密钥是两个站点上的 seom。
登录/身份验证 cookie 在站点之间传递得很好,但我只是没有看到声明被传递。

我确实打开了 fiddler,可以看到正在传递的身份验证 cookie,但我没有看到任何看起来像在标题或正文中传递的声明的东西。

【问题讨论】:

    标签: c# asp.net .net-3.5 wif claims-based-identity


    【解决方案1】:

    您正在使用 ADFS 作为您的 IDP?

    最可能的原因是两个 RP(两个 ASP.NET 3.5 网站)的声明规则不一样。

    您应该在站点之间使用 SSO OOTB,因此如果您使用的是 IE 并且它是为 IWA 设置的,那么它应该是无缝的。

    【讨论】:

    • 感谢您的信息。你上面列出的一半对我来说是陌生的,但我会研究每个部分,看看我是否能回答你列出的内容。我没有使用 ADFS。基本上,我正在尝试将我目前拥有的旧表单身份验证转换为每个响应的手动声明。
    猜你喜欢
    • 1970-01-01
    • 2011-09-21
    • 2012-04-06
    • 2011-08-19
    • 2017-09-13
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多