Więc staram się realizować różnego rodzaju użytkowników na mój wniosek, po pierwsze, powiedzmy, że istnieje tylko jeden rodzaj użytkownika:Różne typy użytkowników w ASP.NET Identity 2.0
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; }
}
Jest jeden do jedna relacja między tymi dwoma elementami, ale co, jeśli jest więcej niż jeden typ użytkownika? Nie mogę mieć tego klucza obcego w jednostce Użytkownik, myślę, że zmierzam w złym kierunku.
Jeśli chodzi o używanie ról w tym celu, dla każdego z nich istnieje administrator, nauczyciel, uczeń i różne rodzaje ról, ale co się stanie, jeśli chcę przechowywać dodatkowe właściwości dla każdego rodzaju roli?
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; }
}
To znaczy, mogę przedłużyć klasy IdentityUserRole i dodać więcej właściwości, ale w jaki sposób dodać właściwości do każdego rodzaju roli?
Nie można dodawać właściwości do poszczególnych rodzajów ról. Wszystkie role będą zawierały wszystkie właściwości zawarte w tabeli UserRole, ponieważ każda właściwość będzie kolumną, ale możesz przypisać różne obowiązki do różnych ról. Lub Możesz użyć uwierzytelniania opartego na roszczeniach. Sprawdź te filmy, aby utworzyć niestandardowe role. http://stackoverflow.com/questions/25857806/extending-identityuserrole-in-identity-2-0/25857923#25857923 – DSR