我在项目中使用新的用户身份验证系统 Asp.Net Identity 。我有一种情况,我必须在数据库中存储3种类型的用户,即:
现在所有这3个都有单独的表包含关于它们中的每一个的不同信息。我希望Asp.Net Identity能够为每种类型的用户处理他们的登录,注销和密码维护。
有人可以指导我如何处理这种情况的概述吗?
答案 0 :(得分:1)
你需要一个像这样的继承结构:
public abstract class User {}
public class Student : User {}
public class Teacher : User {}
public class Admin : User {}
其中User
基类包含所有必要的身份验证信息。这样,您就可以统一处理所有类型的用户。
关于数据库,有多种策略可以处理这种多态性(例如每个混凝土类型的表)。
答案 1 :(得分:0)
这就是我刚想的:
首先,在你的数据库中创建一个名为“Roles”的表,它将包含你在帖子中提到的所有角色(学生,教师,管理员等)
然后在表中放入一个外键(RoleId)
制作custom membership provider
我认为这应该有用