在ASP.NET Core中,Windows身份验证用户角色可能不起作用的原因可能是由于未正确配置身份验证中间件或者未正确设置Windows用户组。
以下是一种可能的解决方法:
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddAuthorization(options =>
{
options.AddPolicy("WindowsGroup", policy =>
{
policy.AuthenticationSchemes.Add(IISDefaults.AuthenticationScheme);
policy.RequireRole("YOUR_WINDOWS_GROUP_NAME");
});
});
[Authorize(Policy = "WindowsGroup")]
public IActionResult Index()
{
// 执行需要进行Windows身份验证的操作
return View();
}
请确保将"YOUR_WINDOWS_GROUP_NAME"替换为你希望授权的Windows用户组的名称。
通过以上步骤,你应该能够正确使用Windows身份验证用户角色。如果问题仍然存在,建议检查Windows用户组的正确性以及操作系统的权限配置。