[英]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.