Aby przechowywać informacje o użytkowniku od osób, które logują się przy pomocy OpenID, planuję utworzyć tabelę użytkowników.Przechowywanie członkostwa ASP.net i otwieranie użytkowników w nowej tabeli użytkowników
Mój problem polega na tym, że ta nowa tabela użytkowników będzie zawierać nowe pola, które chcę, aby użytkownicy członkostwa asp.net również mogli wypełnić (dane profilu).
Mój plan jest taki, kiedy użytkownik chce nazwy użytkownika i hasła, rejestruje się, a informacje są wstawiane do asp.net_Membership, a następnie duplikują ich guid, nazwę użytkownika, createDate do nowej tablicy użytkowników, tak aby w kodzie mogłem po prostu wyszukać dane w tabeli użytkownika i nie ma znaczenia, czy zarejestrowano przy użyciu członkostwa OpenID lub asp.net.
Chciałbym przesłonić Membership.GetUser tak, aby wyszukał moją nową tabelę użytkowników i dodałbym właściwości profilu web.config.
byłoby lepsze osiągi zamiast korzystania Membership.GetUser użyć (gdzie nazwałbym nową tabelę użytkownika):
User user = _repository.GetUser(userId);
Moja aplikacja już działa i chciałbym trzeba dodać odnośniki do niektórych strony obsługujące _repository, więc myślę tylko o wydajności.
Czy mój plan utworzenia nowej tabeli użytkowników jest prawidłowy? Nie podoba mi się pomysł duplikacji, ale jeśli w przyszłości chcę zmienić nazwę użytkownika, nie ma problemu z aktualizacją tabeli nowych użytkowników i tabeli asp.net_Membership.
Czy należy przesłonić GetUser i dodać właściwości profilu w pliku web.config lub wywołać mój własny obiekt użytkownika?
Czy tworzenie nowej tabeli użytkowników i powielanie podstawowych danych jest najlepszą metodą?