2015-06-16 7 views
-1

Я пробовал это за последние два дня. Я не понимаю, в чем проблема. Я искал в Интернете, но не нашел решения. Я попробовал все настройки IIS, например: «Переместить переговоры вниз, отключить другую проверку подлинности», но не работает. SO вот моя проблема: У меня есть веб-приложение интрасети в ASP.NET, которое использует имя пользователя и пароли, хранящиеся в Active Directory. У меня есть пять разных страниц в моем приложении. Все страницы хранятся в отдельных папках с файлами web.config. Эти файлы web.config имеют имена пользователей, которым разрешено просматривать эту страницу.IIS и проверка подлинности Windows, не разрешающая страницы с ошибками

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

защищен недействительным Application_EndRequest (объект отправителя, EventArgs е) {

 if (HttpContext.Current.Response.Status.StartsWith("401")) 
     { 
      HttpContext.Current.Response.ClearContent(); 
      Response.Redirect("~/myerrorpage.aspx?myerrormsg=you are not allowed"); 
     } 

Это работает в Localhost, но когда я ставлю мое приложение в IIS из-за этого все авторизации пользователей (тех, кто в списке) также перенаправляются на страницу сообщений об ошибках.

Когда я удаляю его из IIS, он работает, но я не могу перенаправить неавторизованных пользователей на страницу сообщений об ошибках. Я также попытался с настройками страниц ошибок IIS, но с той же проблемой.

Пожалуйста, предложите мне, что мне делать? Есть ли другой способ сделать это?

ответ

0

Если используется проверка подлинности Windows, то вы должны иметь это в mind- Если включения вручную проверки подлинности Windows в IIS пожалуйста, не включайте этот код в ваш web.config

<authentication mode="Windows" /> 

если вы используйте это, это вызовет ту же проблему, что и выше, в моем вопросе.