Ric*_*ahl 6 windows-authentication asp.net-core
我有一个与本地Intranet Windows身份验证一起使用的ASP.NET Core 3.0应用程序,用于标识已登录的用户。使用标准的Windows身份验证行为,我可以WindowsIdentity毫无问题地捕获用户的行为。
但是,根据用户使用Intranet浏览器自动登录(即无密码对话框)或使用浏览器“密码”对话框显式登录到浏览器的方式,对于用户组,我会得到不同的结果。
以下是一个API请求,它回显包括过滤后的组成员资格列表(不包括内置帐户)在内的用户信息。左边的是手动登录,右边的是自动登录。
对于显式登录,我正确地看到了该用户所属的所有自定义组。但是,对于自动登录,这些相同的组不会显示:
我还仔细查看了服务器上的User和Identity实例,它为用户引用了完全相同的SID,因此对于Group Membership返回不同的结果似乎很奇怪。
有什么想法为什么当我返回相同的帐户时组列表不同?请注意,这些组是本地的,因此由于域访问而不会成为问题。
注意:我什至在本地主机上进行测试,要对此进行测试,请在此处设置Windows代理设置:
取消选中复选框,我被迫登录。启用它们(无论如何在Chromium浏览器中),我必须在浏览器的登录对话框中明确输入我的凭据。
用户被添加到这些组后是否已注销计算机?
列出的组保存在用户的登录令牌中。我认为可能发生的情况是自动登录发送用户的现有登录令牌(在用户登录Windows时创建),因此它不包含自上次登录以来已添加到的任何组。
手动输入用户名和密码会执行新的登录,因此在登录时会获得一个包含所有组的全新令牌。因此,新的小组将出现在这里。
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |