cra*_*mar 6 asp.net ldap active-directory asp.net-core-mvc
我正在开发一个Intranet应用程序,并希望使用现有组织Active Directory进行用户身份验证和基于策略的角色授权.
有人能指出我正确的方向吗?我有点困惑(实际上很困惑).
谢谢
http://docs.asp.net/en/latest/security/index.html下的每个身份验证和授权资源
\n\n首先启动一个新的 ASP.Net Web 应用程序项目,选择 Web 应用程序模板,然后在右侧窗格中按“更改身份验证”按钮并选择“Windows 身份验证”。
\n\n您现在可以使用[Authorize]类或方法来检查基本身份验证与活动目录(从 RC2 开始),您可以简单地使用组名称 ala [Authorize(Roles=@"DOMAIN\\GROUP")]
现在已经过时且麻烦的替代方案(仍然有效):
\n\n如果您查看,User.Claims您可以看到每个用户组都存在 groupsid 键。在此基础上,您可以执行类似的操作并通过以下方式在您的方法[Authorize(Policy="FOOBAR")]中定义它Startup.ConfigureServices
services.AddAuthorization(\n o => o.AddPolicy(\n "FOOBAR",\n p => p.RequireClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",\n "ENTER GROUP SID")\n ));\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,RequireClaim 的第二个参数是一个字符串数组,以允许多个组。
\n\n另请注意通过此命令行魔术找出组 IDdsquery group -name \xe2\x80\x9cENTER GROUP NAME\xe2\x80\x9d | dsget group -sid