ASP.Net 5 (MVC6) Intranet 应用程序如何使用 Active Directory
How to use active Directory for ASP.Net 5 (MVC6) Intranet application
我正在开发一个 Intranet 应用程序,想使用现有组织的 Active Directory 进行用户身份验证和基于策略的角色授权。
有人能指出我正确的方向吗?我有点困惑(实际上很困惑)。
谢谢
http://docs.asp.net/en/latest/security/index.html
下的每个身份验证和授权资源
首先开始一个新的 ASP.Net Web 应用程序项目,选择 Web 应用程序模板,然后在右侧窗格中按 "Change Authentication" 按钮并选择 "Windows Authentication"。
您现在可以在 class 或方法上使用 [Authorize]
来检查基本身份验证与 RC2 中的活动目录,您可以简单地使用组名 ala [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
我正在开发一个 Intranet 应用程序,想使用现有组织的 Active Directory 进行用户身份验证和基于策略的角色授权。
有人能指出我正确的方向吗?我有点困惑(实际上很困惑)。
谢谢
http://docs.asp.net/en/latest/security/index.html
下的每个身份验证和授权资源首先开始一个新的 ASP.Net Web 应用程序项目,选择 Web 应用程序模板,然后在右侧窗格中按 "Change Authentication" 按钮并选择 "Windows Authentication"。
您现在可以在 class 或方法上使用 [Authorize]
来检查基本身份验证与 RC2 中的活动目录,您可以简单地使用组名 ala [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