Профиль учетной записи MVC .NET - PullRequest
0 голосов
/ 30 ноября 2011

Я провел некоторое исследование о том, как сделать пользовательский профилировщик в .NET MVC. Это кажется довольно сложным. Есть ли другая альтернатива? И это мое главное беспокойство, почему люди беспокоятся об использовании профилей клиентов? Если им нужна дополнительная информация о пользователе, почему бы им просто не создать еще одну таблицу с отношением OneToOne с aspnet_Users с userId или userName в качестве внешнего ключа?

Пожалуйста, уточните. Я пытаюсь реализовать функциональность профиля пользователя, но я не хочу идти по неверному пути.

Спасибо DG

1 Ответ

1 голос
/ 30 ноября 2011

(не уверен, поможет ли это говорить о провайдерах пользовательских профилей ... если только меня не поймут ...)


ИМО, что бы вы ни делали1006 * избегай (запеченный в) ASP.NET Membership любой ценой !Это оооочень изощренно, вам захочется нанести удар себе в глаза тупой ложкой: (* ​​1011 *

Поверь мне. Избегай этого.

Почему: Должен ли я использовать встроенный поставщик членства для приложения ASP .NET MVC?

Итак ... что мы можем сделать вместо этого?

Просто так свернутьсвой логин / пароль и использование встроенного Forms Authentication. Для себя я не фанат хранения любых паролей в моей собственной базе данных ... поэтому я предпочитаю использовать Facebook, Twitter или OAuth в качестве мой механизм аутентификации .. что означает, что я заканчиваю с простым, базовым, пользовательским классом пользователя.

Я также создаю свой собственный IPrincipal и IIdentity , потому что яЯ хочу сохранить немного больше информации в файле cookie, который Forms Auth создает, когда человек прошел аутентификацию. Это помогает сохранить мой код в контроллерах более чистым и более простым способом.

Например, я сохраняю userId ofаутентифицированный человек в зашифрованноме.(по умолчанию хранится только Name).Я также храню еще одну или две вещи ... но вы поняли.Таким образом, я не всегда получаю доступ к БД, чтобы получить какие-либо пользовательские данные ИЛИ сохранить это дерьмо в сеансе.

С помощью своего собственного ролика вы можете создавать дополнительные метаданные (день рождения? Девичья фамилия мамы)? номер социального страхования (шутка)) .. и у этого дополнительные данные профиля .Та же таблица?дополнительная таблица?кого это волнует ... это решение сделать позже (и легко решить).Получите вашу модель правильно, IMO :) Затем, когда вы заблокировали свою модель, вы теперь знаете, что требуется и что необязательно ... и тогда вы можете принять некоторые решения по БД.

TLDR? ?

  1. Избегайте встроенного дерьма членства ASP.NET
  2. Сверните свое собственное ... и сделайте его простым.
  3. Если вы чувствуете себя продвинутым, такжекатите свои IPrincipal и IIdentidy, чтобы по-настоящему раскачивать свой мир.

GL HF и не наносите удар тупой ложкой в ​​глаза!

enter image description here

...