Используя аутентификацию форм, могу ли я вернуть 404 с недоступной страницы, а не перенаправить на страницу входа? - PullRequest
1 голос
/ 16 мая 2010

Используя аутентификацию по формам, возможно ли вернуть 404, если пользователь не имеет доступа к контенту, вместо того, чтобы перенаправить их куда-нибудь?

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

Возможно

Ответы [ 3 ]

0 голосов
/ 16 мая 2010

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

0 голосов
/ 16 мая 2010

Вам будет трудно поймать 403, гораздо меньше перенаправить его.

В модуле проверки подлинности форм существует давняя «ошибка», которая просто сбрасывает «недостаточно авторизованный» на зарегистрированную страницу входа с 200 OK.

Таким образом, вы не только не можете легко поймать 403 - по моему опыту 403 никогда не был подходящим кандидатом на пользовательскую страницу с ошибкой. Я не уверен, почему MS оставила его в файле по умолчанию web.config на 10 лет.

В любом случае, я разработал модуль, который исправит это поведение, код и детали можно найти здесь: http://www.codeproject.com/Articles/39062/Salient-Web-Security-AccessControlModule.aspx

Язык статьи ориентирован на запросы типа ajax, но модуль также разработан с учетом аутентификации на основе веб-форм.

Конфигурация по умолчанию даст вам возможность обрабатывать 403 с пользовательской страницей ошибок, которая может быть простым обработчиком, генерирующим 404, который, в свою очередь, будет обрабатываться любой пользовательской страницей 404, которую вы определили, если она есть. *

0 голосов
/ 16 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...