ASP.Net Identity 2.0中的不同用户类型
发布时间:2020-12-16 03:52:32 所属栏目:asp.Net 来源:网络整理
导读:所以,我正在尝试在我的应用程序上实现不同类型的用户,首先,假设只有一种用户: public class ApplicationUser : IdentityUser{ // Other Properties public int TeacherID { get; set; } [ForeignKey("TeacherID ")] public virtual Teacher Teacher { get;
所以,我正在尝试在我的应用程序上实现不同类型的用户,首先,假设只有一种用户:
public class ApplicationUser : IdentityUser { // Other Properties public int TeacherID { get; set; } [ForeignKey("TeacherID ")] public virtual Teacher Teacher { get; set; } } public class Teacher { [Key] public int TeacherID { get; set; } public int UserID { get; set; } // Other properties [ForeignKey("UserID")] public virtual ApplicationUser User { get; set; } } 这两个实体之间存在一对一的关系,但是如果有多种类型的用户呢?我不能在User实体上拥有那个ForeignKey,我想我的方向是错误的. 我虽然为此使用角色,所以每个角色都有管理员,教师,学生和不同类型的角色,但如果我想为每种角色存储额外的属性会怎样? public class IdentityUserRole<TKey> { public IdentityUserRole(); // Resumen: // RoleId for the role public virtual TKey RoleId { get; set; } // // Resumen: // UserId for the user that is in the role public virtual TKey UserId { get; set; } } 我的意思是,我可以扩展IdentityUserRole类并添加更多属性,但是如何为每种角色添加属性? 解决方法
为此目的使用角色当然是有意义的,但它确实意味着您可以分配多个角色.所以用户可以是教师和学生,但这可能发生.
如果要为角色类添加额外的属性,则以与为用户相同的方式完成.像这样创建自己的角色版本: public class ApplicationRole : IdentityRole { public string bool CanJuggle { get; set; } } 你需要一个RoleManager类来配合它: public class ApplicationRoleManager : RoleManager<ApplicationRole> { public ApplicationRoleManager(IRoleStore<ApplicationRole> store) : base(store) { } //snip } 不要忘记你的上下文需要改变: public class YourContext : IdentityDbContext<ApplicationUser,ApplicationRole,string,IdentityUserLogin,IdentityUserRole,IdentityUserClaim> { //snip } 认为涵盖了所有相关部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 允许未经身份验证的用户使用ASP.Net表单身份验证访问特定页
- asp.net-mvc – 如何在ASP.NET MVC视图中对HTML列表项进行分
- asp.net-mvc – 为什么我在MVC3控制器中的模型中更新的值没
- asp.net – CompareValidator的间歇性错误 – ValueToCompa
- 解决MSF更新证书错误
- asp.net-mvc – BeginRenderLink Sitecore Glass Mapper
- asp.net – PageMethod和URl重写
- 在ASP.NET MVC中启用了对Javascript的测试
- asp.net-mvc – ActionFilterAttributes是否跨线程重用?如
- asp.net-mvc – 清理MVC 3.0应用程序中抛出的所有错误的方法
推荐文章
站长推荐
- entity-framework – Entityframework Mapping问
- asp.net-mvc-3 – 模型验证/ ASP.NET MVC 3 – 条
- ASP.NET网页(WebMatrix)发布的jQuery帖子
- asp.net-mvc-3 – 比较(密码)属性
- asp.net-core – AspNetCore中的控制器配置
- asp.net-web-api2 – Swashbuckle 5和multipart
- asp.net – 通配符HttpHandler不处理静态文件
- asp.net-mvc – 保持viewdata在RedirectToAction
- asp.net – 使用Razor有点像回到经典的asp
- asp.net-mvc – 使用asp.net mvc操作过滤器的奇怪
热点阅读