繁体   English   中英

使用MVC5身份连接自定义角色

[英]Wiring Up Custom Roles with MVC5 Identity

我在ADFS 2.0中使用ASP.Net Identity(我认为)。

用户在单独的服务器上登录,回到我身边,我检查ClaimsPrincipal并提取userID声明,然后使用该ID来检索用户。

因此,我仅使用基于ADFS /声明的身份验证来获取用户对象; 之后,我拥有用户组和角色之类的东西,但是它们是自定义对象,我在应用程序中管理它们,而不是使用ADFS来管理它们。

我想知道的是:将我的自定义数据库角色与开箱即用的角色一起使用有多难? 具体来说,我希望能够在控制器上使用Role(“ RoleName”)属性,并将某些UI元素包装在视图上的User.IsInRole(“ RoleName”)中,以控制用户访问。

我该怎么做才能将其连接起来?

我不知道任何Role属性。 您是指Authorize(“ RoleName”)属性吗?

因此,添加与IPrincipal.IsInRoleAuthorizeAttribute兼容的角色声明非常容易。 只需添加类型为ClaimTypes.Role

//when creating a new identity
var identity = new ClaimsIdentity(new Claim[] {
     new Claim(ClaimTypes.Role, "MyRole1"),
     new Claim(ClaimTypes.Role, "MyRole2")
});

//add a claim to an identity
identity.AddClaim(new Claim(ClaimTypes.Role, "MyRole3"));

然后在您的控制器中,添加AuthorizeAttribute

Authorize("MyRole1")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM