ServiceSecurityContext 包含 WindowsIdentity 属性的原因是什么?
即,如果使用Windows身份验证机制对用户进行身份验证,则 ServiceSecurityContext.PrimaryIdentity 和 ServiceSecurityContext.WindowsIdentity 属性都包含完全相同的信息,并且如果用户使用身份验证进行身份验证一些其他身份验证机制,然后 ServiceSecurityContext.WindowsIdentity 将保留空白标识。
因此,在第一种情况下, WindowsIdentity 属性保存与 PrimaryIdentity 相同的数据,而在第二种情况下,它根本不保留任何数据(即它保持空白标识)。
谢谢
答案 0 :(得分:0)
即,如果用户使用Windows身份验证进行身份验证 机制,然后是ServiceSecurityContext.PrimaryIdentity和 ServiceSecurityContext.WindowsIdentity属性完全包含 相同的信息
简直错了。
ServiceSecurityContext.WindowsIdentity
返回WindowsIdentity
类型,ServiceSecurity.PrimaryIdentity
返回类型IIdentity
。 WindowsIdentity
类型具有比IIdentity
更多的属性,如果您需要,它可以帮助您更深入地了解经过身份验证的用户的访问权限,声明,令牌和身份。
特别是令牌可以帮助您模拟用户,从而获得对特权资源的访问权。