У меня есть веб-сайт ASP.NET с проверкой подлинности с помощью ActiveDirectory.
Теперь, когда аутентифицированный пользователь открывает страницу - он автоматически аутентифицируется. Я столкнулся с проблемой - когда пользователь, не прошедший проверку подлинности (например, пользователь Mozilla Firefox с неопределенным свойством network.automatic-ntlm-auth.trusted-uris
), открывает страницу, IIS отправляет 401 ответ и подсказки для входа\пароля.
Я хочу не запрашивать пароль для входа в систему - просто покажите собственную страницу с ошибкой. Это звучит довольно просто - пользователи, прошедшие аутентификацию, получают запрошенную страницу, не прошедшие аутентификацию, перенаправляются на страницу пользовательских ошибок. Это отлично работает для FormsAuthentication.
Тем не менее, я уже пробовал так много способов. Любые перенаправления Web.config не работают. Даже если я очистил Response
и поставлю туда перенаправление - я получу цикл, потому что эта настраиваемая страница (*, например, /Error/AccessDenied
) также требует аутентификации. Пометка контроллера как AllowAnonymous
ничего не делает.
Однако, если я разрешаю анонимную проверку подлинности в диспетчере IIS, настоящие пользователи аутентифицированного домена не авторизованы при открытии веб-сайта.
Как я могу решить эту проблему?