У меня есть несколько таблиц в моей базе данных, которые указывают, что пользователи-ведьмы (в зависимости от вашего имени пользователя AD) могут фактически использовать текущее приложение ASP.NET MVC 2, которое я создаю.
Мой вопрос заключается в том, как (или, более вероятно, где и где я могу это разместить? На главной странице ??) я пишу метод, который выводит пользователя AD из контекста HTTP и проверяет его по базе данных, чтобы увидеть вы действительно можете использовать приложение? Если вы можете ... идея в том, чтобы написать пару ключей в объекте Session с необходимой мне информацией (роль, полное имя и т. Д.).
Я совершенно сбит с толку относительно того, как мне следует это сделать, и если это действительно правильный путь ... Имейте в виду, что в моем приложении есть раздел для администраторов и не для администраторов.
Есть мысли?
Редактировать: Имейте в виду, что я не хочу аутентифицировать пользователя через форму. Все, что я хочу проверить - можете ли вы использовать мое приложение в соответствии с моей базой данных и вашим именем пользователя AD. Если вы можете написать на сессию, чтобы погибнуть информация, которая мне нужна. В противном случае просто выбросить страницу с ошибкой.
Это то, что я реализовал до сих пор, это путь?
Для чего второй метод? (Извините, я немного новичок в c #) То, что я хочу сделать, это на самом деле бросить представление, если вы не авторизованы ...
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (isAuthorized)
{
var canUse = this._userRepo.CanUserUseApp(httpContext.User.Identity.Name);
if (!canUse)
{
isAuthorized = false;
}
}
return isAuthorized;
}