1

我已經成功創建了一個使用我自己的ApplicationUser,ApplicationUserStore(實現IUserStore和IUserPasswordStore)和ApplicationUserManager(擴展UserManager)的簡單MVC 6應用程序。登錄現在可以正常工作。現在我想延長我的項目,以支持註釋在我的控制器類似如下:在ASP.NET 5 Identity 3.0(無EF)中創建自定義角色處理

[Authorize(Roles = "TestRole")] 
public IActionResult Trips() 
{ 
    ... 
} 

所以我也創建了自己的ApplicationRole,ApplicationRoleManager,ApplicationRoleStore在我啓動註冊他們:

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中的角色方法(來自IQueryableRoleStore)將被解僱。

我想念我綁定的地方嗎?還是我對身份/角色概念有完全錯誤的想法?

+0

馬爾科嗨!你可以通過[email protected]聯繫我嗎?我收到了一些關於在ASP.NET 5中實現角色和自定義標識用戶實現的問題。 –

回答

2

授權屬性:

[Authorize(Roles = "TestRole")] 
public IActionResult Trips() 
{ 
    ... 
} 

不會調用任何身份的東西。它只會檢查當前用戶是否在角色「TestRole」中,並且只有在用戶在角色中時才允許訪問。這將是對角色cookie的檢查。

您仍然需要構建自己的用於管理角色成員資格的用戶界面,添加從角色中刪除用戶才能將該角色獲取到用戶的Cookie中。

如果你需要更多的想法我也有角色管理的項目here實施以及身份沒有實體框架

+0

謝謝喬。 「你對照角色cookie」是什麼意思?這個支票的代碼在哪裏?由於我的用戶不需要他們自己的角色,我實際上不需要UI來管理角色。我可以與硬編碼的固定角色一起生活。現在我要詳細檢查我們的項目。 –

相關問題