Как мне установить значение в User.Identity.Name для реального имени пользователя? - PullRequest
0 голосов
/ 19 марта 2012

Мои пользователи входят в систему, используя адрес электронной почты и пароль, используя мой пользовательский провайдер членства. Есть ли способ, чтобы User.Identity.Name (или что-то еще внутри) возвращало настоящее имя пользователя, а не его имя пользователя (или адрес электронной почты в моем случае), сохраняя при этом адрес электронной почты, чтобы его можно было использовать? Если это не хороший способ сделать то, что я хочу, что вы рекомендуете делать вместо этого?

Я думаю, что "Welcome Mike Wills" выглядит лучше, чем "Welcome bigdaddy124@mydomain.com".

Ответы [ 3 ]

2 голосов
/ 19 марта 2012

Вы можете добавить объект профиля пользователя (или имя) в переменную Session, поэтому вам не придется запрашивать базу данных для каждой загрузки страницы.

1 голос
/ 19 марта 2012

Лучший способ здесь - реализовать собственный принцип, чтобы поля были доступны, не пытайтесь «неправильно» использовать существующие поля. Просто приведите использование IPrinciple к вашему базовому классу и обратитесь к полю FullName (или как вы его называете)

Реализация IPrincipal и IIdentity в MVC с использованием настраиваемого членства и поставщика ролей

0 голосов
/ 19 марта 2012

Отдельная таблица БД "Пользователи" для хранения личной информации, связанной с таблицей Членства ....

Таким образом, данные вашей аутентификации и авторизации отделены (но связаны с) от вашего пользовательского пользователя.данные.Упрощает управление ИМХО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...