Quindi, sto cercando di attuare diversi tipi di utenti relativa alla mia domanda, prima, diciamo che c'è un solo tipo di utente:diversi tipi di utente in 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; }
}
C'è uno a una relazione tra queste 2 entità, ma cosa succede se c'è più di un tipo di utente? Non posso avere quel ForeignKey sull'entità User, penso che vada nella direzione sbagliata.
Ho pensato di utilizzare i ruoli per questo, quindi c'è un amministratore, un insegnante, uno studente e diversi tipi di ruoli per ognuno, ma cosa succede se voglio memorizzare proprietà aggiuntive per ogni tipo di ruolo?
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; }
}
voglio dire, posso estendere la classe IdentityUserRole e aggiungere più proprietà, ma come faccio ad aggiungere proprietà per ogni tipo di ruolo?
Non è possibile aggiungere proprietà a ciascun tipo di ruolo separatamente. Tutti i ruoli conterranno tutte le proprietà incluse nella tabella UserRole in quanto ciascuna proprietà sarà una colonna, ma è possibile assegnare responsabilità diverse a ruoli diversi. Oppure è possibile utilizzare l'autenticazione basata sulle attestazioni. Controlla questi video per creare ruoli personalizzati. http://stackoverflow.com/questions/25857806/extending-identityuserrole-in-identity-2-0/25857923#25857923 – DSR