2016-11-11 33 views
0

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

在一个网站上我登录,我可以看到的要求如下所示:

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

但在另一个网站上,我没有看到传递的要求。
我在网站之间使用表单身份验证,机器密钥是两个网站上的seom。
登录/授权cookie正在网站之间传递正常,但我只是没有看到声明被传递。

我打开了小提琴手,可以看到正在传递的身份验证cookie,但我没有看到任何看起来像标题或正文中传递的声明。

回答

0

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

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

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

+0

感谢您的信息。上面列出的一半对我来说是陌生的,但我会研究每个部分,看看我能否回答你列出的内容。我没有使用ADFS。基本上我正试图将我目前拥有的旧表单身份验证转换为每个响应的手动索赔。 – goroth