.NET личность пользователя, разделение консерваторов - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь использовать удостоверение .NET.У моего пользователя есть свойства, связанные с аутентификацией.Например, адрес электронной почты, пароль, проекты, к которым у пользователя есть доступ, и т. Д. Кроме того, у пользователя есть другие поля, например, любимый цвет.

  • Поскольку цвет не связан с аутентификацией, яне хочу добавлять цвет как свойство ApplicationUser: IdentityUser {}.

  • Но каким-то образом мне нужно записать значения в это поле, чтобы я мог написать репозиторий, который принимает обычный объект User.Но в этом случае мне нужно написать репозиторий, сам хэшировать пароль, так какой смысл иметь .NET Identity?

  • Третьим решением было бы сделать 2 таблицы, одну дляApplicationUser, и один для связанных свойств, но у нас уже есть база данных, и я не хочу ничего менять.

  • Еще одна идея, о которой я мог бы подумать, - это иметь ApplicationUser: IdentityUser {} как базовую копию пользователя (я не могу наследовать от пользователя и IdentityUser, и не могуцепочка, из-за базы данных сначала) и иметь отдельный AuthenticationUser: IdentityUser в auth.контекст.

Как мне это сделать?

спасибо

1 Ответ

0 голосов
/ 03 октября 2018

Я думаю, что для этой проблемы вы должны изменить свою модель следующим образом:

public class Person
{
    public string Color { get; set: }
    public int RoleId { get; set: }
    public Role Role { get; set: }

    public ICollection<UserAuthentication> UserAuthentications { get; set: }
}

public class UserAuthentication
{
    public Person Person { get; set: }
    public int PersonId { get; set: }
}

С этими моделями у вас нет этой проблемы.

Если у вас есть какие-либо данные, вы можетесмести это используя TSql.

...