我正在开发一个 Intranet 应用程序,并希望使用现有组织 Active Directory 进行用户身份验证和基于策略的角色授权。
有人可以指出我正确的方向吗?我有点困惑(实际上很困惑)。
谢谢
最佳答案
每个身份验证和自动化资源在 http://docs.asp.net/en/latest/security/index.html 下
首先启动一个新的 ASP.Net Web 应用程序项目,选择 Web 应用程序模板,然后在右侧 Pane 中按“更改身份验证”按钮并选择“Windows 身份验证”。
您现在可以使用 [Authorize]
从 RC2 开始,在检查基本身份验证与事件目录的类或方法上,您可以简单地使用组名 ala [Authorize(Roles=@"DOMAIN\GROUP")]
现在已经过时且繁琐的替代方案(仍然有效):
如果你看 User.Claims
您可以看到每个用户组都存在 groupid 键。以此为基础,您可以执行类似 [Authorize(Policy="FOOBAR")]
的操作并在您的 Startup.ConfigureServices
中定义它方法通过
services.AddAuthorization(
o => o.AddPolicy(
"FOOBAR",
p => p.RequireClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
"ENTER GROUP SID")
));
请注意,RequireClaim 的第二个参数是一个字符串数组,以允许多个组。
另请注意通过此命令行魔术
dsquery group -name “ENTER GROUP NAME” | dsget group -sid
找出组 ID
关于asp.net - 如何将 Active Directory 用于 ASP.Net 5 (MVC6) Intranet 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538724/