我目前正在使用 [Authorize]
Controller 顶部的属性,旨在根据 AD 组限制对我网站特定部分的访问。我正在使用 IIS 集成身份验证。托管站点的机器位于域中,可以与域 Controller 通信。我也在使用 .NET Core 1.1,但也尝试过使用完整的 .Net Framework 产生相同的结果。
目前我有[Authorize(Roles = "Domain\\My_AD_Group")]
但无法让 AD 组主动针对站点进行更新。如果我更改组中的用户,则强制复制并在本地重建站点没有任何变化。如果我在复制后重新启动本地计算机,这似乎可以解决问题,并且可以正确读取组权限。同样的事情发生在 IIS 中。
似乎有缓存的凭据在本地某处排序,但不确定是否是这种情况。非常感谢任何帮助。
编辑:我也在完整的 .Net 框架中尝试过这个,也有同样的问题。
最佳答案
如果您正在更新用户的组成员身份,您可以尝试在 Windows 命令提示符下运行“Gpupdate/force”以缩小范围。
或者您可以添加另一个注释来不缓存 Controller 操作:
[OutputCache(NoStore = true, Duration = 0)]
public ActionResult ControllerAction(int id
{
// stuff
}
关于asp.net - 授权与 Active Directory .NET Core 1.1、.Net Framework 的属性交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43814449/