Аутентификация - это то, что всегда должно происходить на границе приложения, потому что разные приложения, использующие одну и ту же модель домена, могут иметь разные потребности в аутентификации. Если вы когда-нибудь решите представить свою модель домена как, скажем, веб-службу, проверка подлинности с помощью форм вряд ли будет лучшим механизмом проверки подлинности.
В ASP.NET MVC вы можете легко реализовать аутентификацию UserName / Password, используя шаблон проекта по умолчанию из Visual Studio, но после аутентификации пользователя вы должны установить Thread.CurrentPrincipal .
Как правило, IPrincipal является стандартной основой для моделирования пользовательского контекста в .NET. Например, HttpContext.User является IPrincipal.
В ваших доменных моделях и модулях доступа к данным вы можете использовать Thread.CurrentPrincipal для реализации логики авторизации. Это позволяет вам изменять аутентификацию и авторизацию независимо друг от друга.
Если вам нужно работать с более богатой концепцией пользователя в вашей доменной модели, вы можете сделать так, чтобы ваш класс пользователя реализовал IPrincipal .