我正在开发一个Intranet应用程序,并希望使用现有的组织Active Directory进行用户身份验证和基于策略的角色授权。
有人可以指出我正确的方向吗?我有点困惑(实际上很多困惑)。
谢谢
http://docs.asp.net/zh/latest/security/index.html下的每个身份验证和自动化资源
首先启动一个新的ASP.Net Web应用程序项目,选择Web应用程序模板,然后在右窗格中按“更改身份验证”按钮,然后选择“ Windows身份验证”。
现在,您可以[Authorize]
在类或方法上使用RC2来检查基本身份验证与活动目录,您只需使用组名即可[Authorize(Roles=@"DOMAIN\GROUP")]
现在已过时且繁琐的替代方案(仍然有效):
如果您看一下,User.Claims
可以看到每个用户组都存在groupsid键。可以做一些类似的事情[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的第二个参数是一个字符串数组,可用于多个组。
另请注意通过此命令行魔术来找出组ID dsquery group -name “ENTER GROUP NAME” | dsget group -sid
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句