gpt4 book ai didi

c# - MVC 5 - 角色 - IsUserInRole 和将用户添加到角色

转载 作者:太空狗 更新时间:2023-10-29 22:10:39 25 4
gpt4 key购买 nike

在 MVC4 中,我使用 Roles.IsUserInRole 来检查给定用户是否处于某个角色。但是,使用 MVC5 我不能再这样做了......

起初,它要求我在 web.config 中启用 RoleManager,但后来我发现微软从 Web.Security 转移到了 Microsoft.AspNet.Identity。

我现在的问题是,对于 Microsoft.AspNet.Identity,我该如何执行类似于 Roles.IsUserInRole 的操作?和/或在角色和用户之间建立关系。

顺便说一句,我仍在尝试了解新的身份验证方法(ClaimsIdentity?)。

最佳答案

你应该阅读 http://typecastexception.com/post/2014/04/20/ASPNET-MVC-and-Identity-20-Understanding-the-Basics.aspx了解 Identity 2.0 的基础知识!

还有一个完整的演示项目可以帮助您入门: https://github.com/TypecastException/AspNet-Identity-2-With-Integer-Keys

如果您将此作为您身份基础的基础,您最终会得到这样的结果:

var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
const string name = "YourUsername"
const string roleName = "Admin";

var user = userManager.FindByName(name);
//check for user roles
var rolesForUser = userManager.GetRoles(user.Id);
//if user is not in role, add him to it
if (!rolesForUser.Contains(role.Name))
{
userManager.AddToRole(user.Id, role.Name);
}

关于c# - MVC 5 - 角色 - IsUserInRole 和将用户添加到角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com