2 messaggi dal 13 gennaio 2021
Sto creando una applicazione Net5 con due diversi tipi di utenti che condividono alcuni dati in comune, vorrei utilizzare la tabella aspNetUser per i dati in comune e tenere i dati relativi ai due tipi di utenti su tabelle differenti.
ho cominciato con asp.net.identity, ho creato due tipi di user differenti, figli di una classe Main_User principale che eredita da IdentityUser

public class Main_User : IdentityUser<Guid>
{
public string Country { get; set; }
public string Nickname { get; set; }
}

public class User_1 : Main_User
{
[Key]
[ForeignKey(nameof(_User))]
public string User1Id { get; set; }

public virtual Main_User _User { get; set; }
}

public class User_2 : Main_User
{
[Key]
[ForeignKey(nameof(_User))]
public string User2Id { get; set; }

public virtual Main_User _User { get; set; }
}

Ovviamente ho altre proprietà che giustificano il fatto di avere due tipi di user ma le ho omesse per tenere piu pulito il post..
La maniera in cui ho strutturato queste classi è corretta?
Inoltre mi piacerebbe poter accedere alle proprietà dell utente come email e password in maniera indipendente dal tipo di utente,
cosi potrei utilizzare alcune pagine per entrambi i tipi di utenti es: login, cambio email, password o cose cosi.
Per poterlo fare posso procedere semplicemente utilizzando ad esempio lo UserManager<Main_User>
o devo utilizzare lo UserManager corretto in base al tipo di utente loggato magari con un interfaccia?
Stesso discorso per SignInManager, RoleManager etc.
Qualcuno ha gia sviluppato con diversi tipi di utente o ha qualche suggerimento su come procedere?
16 messaggi dal 06 marzo 2017
A me sembra che come struttura sia corretta, ma sinceramente mi chiedo il perché...

Secondo me potresti gestire n tipologie di utenti semplicemente implementando Ruoli e Claims, grazie a questi meccanismi potresti gestire qualsiasi livello di segregazione di cui hai bisogno, senza dover impazzire tra diverse classi.

Potresti estendere la classe User con tutte le possibili proprietà necessarie ed avere tutto li.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.