簡體   English   中英

具有自定義角色的asp.net身份

[英]asp.net identity with custom role

我對身份框架和自定義角色有疑問。 我的自定義角色包含一組活動權限。

我的自定義角色看起來像

public class MyRole : IdentityRole
{
    public List<MyPermission> Permissions { get; set; }
}

public class MyPermission
{
    public int Id { get; set; }
    public int Value { get; set; }
}

和RoleManager像這樣

public RoleManager<MyRole> MyRoleManager;

我可以創建新角色,但是在更新角色權限時遇到問題。 我更新像

myRole.Permissions.Clear();
myRole.Permissions.Add(new MyPermission() { ... });
MyRoleManager.Update(myRole);

已添加新權限,但舊權限仍在數據庫中。 我如何刪除那些舊的。

編輯 :我注意到更多問題。 當我從RoleManager使用FindById時,沒有從數據庫加載權限。

謝謝。

假設您使用的是“代碼優先”功能,則需要將DbSet添加到上下文中:

DbSet<MyRole> Roles {get;set;}
DbSet<MyPermission> Permissions {get;set;}

您還需要確保您的集合被標記為virtual ICollection

public class MyRole : IdentityRole
{
    public virtual ICollection<MyPermission> Permissions { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM