如何比较 UserPrincipal 与 WindowsIdentity?
How do I compare UserPrincipal with WindowsIdentity?
当根据 (绑定保存在数据库中)使用 UserPrincipal SamAccountName 将用户绑定到 Windows 帐户时。然后在进行登录时,我需要根据登录的 Windows 帐户检查此绑定用户(来自数据库),这是通过 WindowsIdentity objeckt 完成的。
问题是 WindowsClient.Name 会声明 Group\SamAccountName 而不仅仅是 SamAccount?使用组就好了,但是UserPrincipal好像没有return这个?
那我应该怎么匹配呢?我应该只删除 WindowsClient.Name 中的组还是有办法将其添加到 UserPrincipal 中?
这里有几个选项:
不要仅使用 SamAccountName
比较主体,它们仅在单个域中是唯一的,请改用 SID:UserPrincipal.Sid
和 WindowsIdentity.User
不要使用WindowsIdentity
来获取当前用户,而是使用UserPrincipal.Current
。
当根据
问题是 WindowsClient.Name 会声明 Group\SamAccountName 而不仅仅是 SamAccount?使用组就好了,但是UserPrincipal好像没有return这个?
那我应该怎么匹配呢?我应该只删除 WindowsClient.Name 中的组还是有办法将其添加到 UserPrincipal 中?
这里有几个选项:
不要仅使用
SamAccountName
比较主体,它们仅在单个域中是唯一的,请改用 SID:UserPrincipal.Sid
和WindowsIdentity.User
不要使用
WindowsIdentity
来获取当前用户,而是使用UserPrincipal.Current
。