在我的项目中,Admin添加了教师,然后每个教师添加他的学生。当他们被添加时,他们会收到一封电子邮件,要求他们完成注册。我可以在ASP.NET MVC中创建多个身份表吗?
我在我的项目中的以下类:
1-Student类
Student: int id, int Registry number, int grade, string password, string email, string name
2,教师班级:
Instructor: int id, string name , string email , string password
3,我的数据库环境:
public class InstructorContext:DbContext
{
public InstructorContext() : base("InstructorContext")
{
}
public DbSet<Instructor> Instructors { get; set; }
public DbSet<Student> Students { get; set; }}
当我们呃入门,我必须确定他是管理员还是导师还是学生。我必须使用基于角色的身份验证吗?我已经有2个不同的角色分开的类。他们是否有可能从IdentityUser继承?
如果我只有1个管理员,我必须添加“管理员”类吗?还是足以检查电子邮件和密码? – Comp23555
不,我的意思是你*可以*,但“管理员”更通常被认为是一个角色。区分的一个好方法是考虑重叠。如果像“讲师”这样的东西也可能是管理员(不管你是否真的会允许),那么它可能更适合作为一个角色。这样,如果您需要,您*可以*使教师成为管理员,而不会影响系统的其他部分。否则,你最终会得到类似'Instructor','Admin'和'AdminInstructor'这样的东西,这显然很快就会变得混乱, –
另外,通过使用角色,你可以添加类似'[Authorize(Roles =“Admin “)]'给控制器/仅限管理员的操作。作为另一种派生类型,您需要创建一些自定义来确定访问级别。 –