你有一个 ASP.Net MVC 5 网站,我想检索当前用户的角色(如果有的话)并相应地采取行动。我注意到了一些变化,即使在模板中 VS 2013 的 Beta 版之后。我目前正在使用此代码:
//in Utilities.cs class
public static IList<string> GetUserRoles(string id)
{
if (id == null)
return null;
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new AppContext()));
return UserManager.GetRoles(id);
}
//and I call it like this:
var roles = Utilities.GetUserRoles(User.Identity.GetUserId());
这是最好的方法吗?如果不是,那是什么?
编辑:
我正在使用它来创建角色并将用户添加到角色中:
RoleManager.Create(new IdentityRole("admin"));
if (um.Create(user, password).Succeeded)
{
UserManager.AddToRole(user.Id, role);
}