【发布时间】:2018-06-15 05:52:27
【问题描述】:
在我的旧 .NET MVC 应用程序中,我可以在 IIS 中启用 Windows 身份验证并禁用匿名。然后在我的web.config 文件中,我只需要输入这个:
<authorization>
<allow roles="Domain\MyADGroupToHaveAccess" />
<deny users="*" />
</authorization>
在 .NET Core 2.0 中,这不起作用 - 它正确地拒绝匿名,但无论如何它都会授权所有用户。
如果我这样做:
[Authorize(Roles = "Domain\\MyADGroupToHaveAccess")]
在我的HomeController 上,它可以工作,但我不想在我的项目中硬编码此设置,因为它需要针对其他环境进行更改。
如何使 web.config 与 AD 授权一起使用?还是有另一种方法可以不在 ASP.NET Core 中硬编码此设置?
【问题讨论】:
-
你好。如果我理解正确,那么我应该能够在 AD 中创建一个组(又名 OU?),然后在属性 [Authorize(Role="MyADGroup")] 中引用相同的组/OU,然后是 AD 管理员或 OU 组代表可以添加/删除/修改组成员并有效地授予对我的控制器的访问权限,是吗?如果这不正确,那么我错过了什么?请参阅我的问题:stackoverflow.com/questions/50498225/…
标签: c# asp.net-core active-directory asp.net-core-2.0