.net MVC аутентификация пользователя / группы - PullRequest
1 голос
/ 06 сентября 2011

Я изучаю .net mvc3, и я очень озадачен тем, как работает аутентификация пользователей, и надеялся, что вы все сможете указать мне правильное направление. Мое приложение должно иметь пользователей и группы, каждая из которых должна хранить данные сверх того, что необходимо для простой аутентификации. Например, мой пользовательский объект должен иметь возможность хранить данные телефона, факса и электронной почты и независимо от того, являются ли они руководителем проекта или нет. Моя группа должна хранить некоторые другие данные об этой группе, такие как веб-сайт.

Я использую Entity для других моих моделей.

Должен ли я создавать модели для своего пользователя и группы и каким-либо образом связывать их с аутентификацией членства? Или тип вещи встроен как-то? Или мне нужен пользовательский поставщик членства?

Извините, если я выгляжу невежественным. Я занимаюсь .net только неделю.

Я пришел из истории Джанго, если это поможет в объяснении.

Спасибо !!

1 Ответ

0 голосов
/ 06 сентября 2011

Вы, безусловно, можете использовать проверку подлинности с помощью форм и использовать таблицы aspnet_Users и aspnet_Roles по умолчанию для обработки таких вещей, как учетные записи входа и различные роли, которые могут иметься для сайта, а затем назначать роли пользователям.Это позволит вам [Authorize(Roles = "Administrators")] действиям вашего контроллера контролировать, кто что может делать.На этом уровне можно установить роль «Руководитель проекта» и назначить ее, если есть смысл управлять БД на основе этого назначения.Если нет, вы можете поместить эту информацию в свою собственную таблицу.

В моем случае мне нужно было связать данные с пользователями, поэтому я создал таблицу Users для конкретного приложения в своей собственной базе данных, а затем связал таблицу Users aspnetdbстрока для пользователя в таблице Users приложения, добавив столбец Guid в мою собственную таблицу Users и заполнив его идентификатором UserId из данных таблицы aspnet_Users.Таким образом, когда пользователь вошел в систему, я мог получить соответствующие данные (например, «Мои рецепты»).Могут быть разные / лучшие способы решения этой проблемы, но я в итоге и сделал для своей ситуации.В базе данных моего приложения я просто создал свои собственные таблицы для обработки таких вещей, как ваши пользователи и группы, так как было довольно много областей интересов.Я вообще не хотел изменять таблицы в aspnetdb.Однако мне будет интересно услышать, что думают другие люди.

Вы можете увидеть вопрос, который я разместил по этому вопросу здесь .

...