【发布时间】:2016-03-14 21:27:03
【问题描述】:
我已经成功创建了一个简单的 MVC 6 应用程序,它使用我自己的 ApplicationUser、一个 ApplicationUserStore(实现 IUserStore 和 IUserPasswordStore)和 ApplicationUserManager(扩展 UserManager)。登录现在可以完美运行。现在我确实想扩展我的项目以支持我的控制器中的注释,如下所示:
[Authorize(Roles = "TestRole")]
public IActionResult Trips()
{
...
}
因此我也创建了自己的 ApplicationRole、ApplicationRoleManager、ApplicationRoleStore 并在我的 Startup 中注册了它们:
services.AddIdentity<ApplicationUser, ApplicationRole>(config =>
{
config.User.RequireUniqueEmail = true;
config.Password.RequiredLength = 8;
config.Cookies.ApplicationCookie.LoginPath = "/Auth/Login";
config.Cookies.ApplicationCookie.AutomaticAuthenticate = true;
}).AddUserStore<ApplicationUserStore<ApplicationUser>>()
.AddRoleStore<ApplicationRoleStore<ApplicationRole>>()
.AddUserManager<ApplicationUserManager>()
.AddRoleManager<ApplicationRoleManager>();
我现在的问题是注释根本不起作用。实际上,我希望我的 ApplicationRoleStore 中的 Roles 方法(来自 IQueryableRoleStore)会被触发。
我是否错过了我绑定的某个地方,或者我对身份/角色概念有完全错误的想法?
【问题讨论】:
-
嗨,马可!您可以通过 dawidr@epoczta.pl 与我联系吗?我有一些关于在 ASP.NET 5 中实现角色和自定义身份用户实现的问题。
标签: asp.net asp.net-mvc asp.net-core asp.net-core-mvc asp.net-identity-3