【发布时间】:2014-05-01 10:20:11
【问题描述】:
您好,我需要检查用户是否处于其中一个角色中,并且我对找到的不同版本的代码感到困惑。让我先告诉你我现在有什么
_manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>());
var currentUser = _manager.FindById(User.Identity.GetUserId());
if (!_manager.IsInRole(currentUser.Id, "admin"))
{
}
和应用程序用户
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
}
所以我想检查用户是否在其中一个角色中。例如管理员、贡献者、超级用户等
我发现this example 看起来不错,但我必须在 web.config 中进行以下更改才能使其正常工作。我不需要像目前那样对我的代码执行此操作。
roleManager enabled="true"
我尝试在UserManager.IsInRole 上进行更多研究,但我找不到很多关于它的信息。多读一点,我明白我发现的帖子是关于简单会员制的。
当我使用身份时,我不应该使用我找到的代码(参考链接和接受的答案),因为这将混合身份和简单会员资格?特别是我参考这条线Roles.GetRolesForUser。身份有类似的方法吗?我想我对不同的会员框架感到困惑,不知道什么是正确的用途。我希望有人可以解释我理解。
(我仍然想要我在标题中提出的问题的解决方案,但我也确实需要理解=)
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-identity simplemembership