您好我需要檢查用戶是否在其中一個角色,我與我發現的不同版本的代碼混淆。讓我告訴你我有什麼,此刻第一如何檢查用戶身份在許多角色在asp.net身份
_manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>());
var currentUser = _manager.FindById(User.Identity.GetUserId());
if (!_manager.IsInRole(currentUser.Id, "admin"))
{
}
而且ApplicationUser
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
}
所以我要檢查,如果用戶在角色之一。例如管理員,controbutor,超級用戶等
我發現this example這似乎是一個很好的但我必須在web.config中進行以下更改,使其工作。我不需要像我目前那樣使用我的代碼來做到這一點。
roleManager enabled="true"
我嘗試研究更多UserManager.IsInRole
但我coundn't找到許多關於它。多一點閱讀我明白我發現的帖子是關於簡單會員。
因爲我使用身份,我不應該使用我發現的代碼(指的是鏈接和接受的答案),因爲這將混合的身份和簡單會員?特別我是指這條線Roles.GetRolesForUser
。有沒有類似的身份識別方法?我想我對不同的會員框架感到困惑,不知道什麼是正確的用途。我希望有人能解釋我理解。
(我還是想對這個問題,我問的稱號,但我真的需要了解和解決方案=)
我沒有做任何我認爲的習慣。 ApplicationUser就是從IdentityDbContext派生的IdentityUser。我想我需要一個關於Asp.net Identity的好例子,以及其他會員框架之間的一些比較。 – lawphotog