Как создать пользовательскую страницу ошибок для 401 в MVC
Привет. Я так долго сталкивался с этой проблемой и перепробовал почти все, но не смог получить то, что хотел.
Я хочу отобразить пользовательскую страницу ошибок для кода 401, если пользователь не имеет права просматривать какую-либо конкретную часть моего веб-приложения. Пожалуйста, решите мою проблему.
Что я уже пробовал:
Это мой файл web. config:
<customErrors mode= " On " >
<error statusCode= " 404 "redirect=" ~ / Error/NotFound"/>
< error statusCode= " 401 "redirect=" ~ / Home/SecureMethod"/>
Это мой контроллер:
[Handleerror с]
публичный класс HomeController : Controller
{
[Авторизовать]
public ActionResult SecureMethod()
{
возвращение смотреть();
}
[Атрибута allowanonymous]
public ActionResult NonSecureMethod()
{
возвращение смотреть();
}
Я также включил аутентификацию Windows и анонимную аутентификацию на сервере IIS
Namith Krishnan E
используете ли вы аутентификацию windows в своем приложении или просто включили ее в iis для тестирования?
Rohit Singh
Я использую аутентификацию Windows
Richard Deeming
Ваша ошибка "не аутентифицирована" указывает на действие, требующее аутентификации. Вы хотели указать на него NonSecureMethod
вместо этого?
NB: 401
это означает, что пользователь еще не прошел проверку подлинности. Если вы пытаетесь справиться с тем случаем, когда пользователь имеет аутентифицирован, но не имеет разрешения, вам нужно 403
.
Список кодов состояния HTTP[^]
Richard Deeming
Репост
Вы уже опубликовали этот вопрос:
https://www.codeproject.com/Questions/1201147/I-want-to-capture-the-error-code-and-send-the-user[^]