Пользовательская аутентификация с сервисным уровнем? - PullRequest
2 голосов
/ 19 января 2010

У меня есть приложение с 3 «слоями», первый «слой данных», 2-й «бизнес-слой» и 3-й - это сайт asp.net mvc. И я пытаюсь правильно добавить аутентификацию форм.

Должен ли я как-то настроить его на использование бизнес-уровня? Что получает / добавляет / обновляет пользователя, который является частью аутентификации, чтобы быть?

А в каком проекте я добавлю подтверждение пользователя в?

/ M

1 Ответ

7 голосов
/ 19 января 2010

Аутентификация - это то, что всегда должно происходить на границе приложения, потому что разные приложения, использующие одну и ту же модель домена, могут иметь разные потребности в аутентификации. Если вы когда-нибудь решите представить свою модель домена как, скажем, веб-службу, проверка подлинности с помощью форм вряд ли будет лучшим механизмом проверки подлинности.

В ASP.NET MVC вы можете легко реализовать аутентификацию UserName / Password, используя шаблон проекта по умолчанию из Visual Studio, но после аутентификации пользователя вы должны установить Thread.CurrentPrincipal .

Как правило, IPrincipal является стандартной основой для моделирования пользовательского контекста в .NET. Например, HttpContext.User является IPrincipal.

В ваших доменных моделях и модулях доступа к данным вы можете использовать Thread.CurrentPrincipal для реализации логики авторизации. Это позволяет вам изменять аутентификацию и авторизацию независимо друг от друга.

Если вам нужно работать с более богатой концепцией пользователя в вашей доменной модели, вы можете сделать так, чтобы ваш класс пользователя реализовал IPrincipal .

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