ServiceSecurityContext.WindowsIdentity的目的?

时间:2010-12-06 19:52:05

标签: wcf wcf-security

ServiceSecurityContext 包含 WindowsIdentity 属性的原因是什么?

即,如果使用Windows身份验证机制对用户进行身份验证,则 ServiceSecurityContext.PrimaryIdentity ServiceSecurityContext.WindowsIdentity 属性都包含完全相同的信息,并且如果用户使用身份验证进行身份验证一些其他身份验证机制,然后 ServiceSecurityContext.WindowsIdentity 将保留空白标识。

因此,在第一种情况下, WindowsIdentity 属性保存与 PrimaryIdentity 相同的数据,而在第二种情况下,它根本不保留任何数据(即它保持空白标识)。

谢谢

1 个答案:

答案 0 :(得分:0)

  

即,如果用户使用Windows身份验证进行身份验证   机制,然后是ServiceSecurityContext.PrimaryIdentity和   ServiceSecurityContext.WindowsIdentity属性完全包含   相同的信息

简直错了。

ServiceSecurityContext.WindowsIdentity返回WindowsIdentity类型,ServiceSecurity.PrimaryIdentity返回类型IIdentityWindowsIdentity类型具有比IIdentity更多的属性,如果您需要,它可以帮助您更深入地了解经过身份验证的用户的访问权限,声明,令牌和身份。

特别是令牌可以帮助您模拟用户,从而获得对特权资源的访问权。

有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity%28v=vs.110%29.aspx