0

根据这篇文章,使用 UserPrincipal SamAccountName 将用户绑定到 Windows 帐户时(绑定保存在数据库中)。然后在登录时,我需要根据登录的 Windows 帐户检查这个绑定的用户(来自数据库),这是通过 WindowsIdentity objeckt 完成的。

问题是 WindowsClient.Name 将声明 Group\SamAccountName 而不仅仅是 SamAccount?使用该组会很好,但 UserPrincipal 似乎没有返回这个?

那么我应该如何匹配?我应该只删除 WindowsClient.Name 中的组,还是有办法将它添加到 UserPrincipal 中?

4

1 回答 1

1

这里有几个选项:

  1. 不要只使用比较主体SamAccountName,它们仅在单个域中是唯一的,而是使用 SID:UserPrincipal.SidWindowsIdentity.User

  2. 不要WindowsIdentity用于获取当前用户,UserPrincipal.Current而是使用。

于 2015-07-09T09:22:08.657 回答