【发布时间】:2013-12-06 14:54:22
【问题描述】:
我有一个 ASP.NET MVC 5 应用程序。我正在使用标准的 ASP.NET 身份提供程序进行用户和角色管理。我使用自己的存储库项目中的 IdentityUser 很重要,但这似乎没问题。我可以注册、登录、编辑用户和管理他们的角色。
我通过以下几行将用户添加到角色:
UserManager.AddToRole(userdetail.Id, r);
db.Entry(userdetail).State = EntityState.Modified;
db.SaveChanges();
这似乎在数据库级别工作。
但是,我不能使用基于角色的身份验证,实际上是简单的
HttpContext.User.IsInRole("Administrator")
也不行。
[Authorize(Roles="Administrator")]
也不行。
我只能用这种方法检查用户是否是管理员:
UserManager.IsInRole(userID, "Administrator").
为什么?
在我发现的每个教程中,一切正常。不同的项目存储库可能是原因?还是 ASP.NET Identity 被破坏了这么多?
请指教,
【问题讨论】:
-
我也有同样的问题。有什么解决办法吗?
-
答案已经发布。接受。 jd4u 的那个。
标签: c# asp.net asp.net-mvc asp.net-identity