[英]Create custom role handling in ASP.NET 5 Identity 3.0 (without EF)
我已經成功創建了一個簡單的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)。
我會錯過綁定的地方還是對身份/角色概念有完全錯誤的想法?
授權屬性:
[Authorize(Roles = "TestRole")]
public IActionResult Trips()
{
...
}
不會調用任何身份信息。 它將僅檢查當前用戶是否具有“ TestRole”角色,並且僅當該用戶具有該角色時才允許訪問。 這將是對角色Cookie的檢查。
您仍然需要構建自己的UI來管理角色成員身份,並添加從角色中刪除用戶的功能,以便將該角色添加到用戶的Cookie中。
如果您需要更多想法,我在這里有一個項目,該項目已實現角色管理以及無需實體框架的身份
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.