FormsAuthentication выборочный для URL - PullRequest
0 голосов
/ 17 сентября 2008

Есть ли способ реализовать проверку подлинности на основе форм, но только для определенного URL-адреса. Например, я бы хотел, чтобы формы ForAuthentication защищали сайт на staging.mydomain.com, но не препятствовали доступу к www.mydomain.com, если web.config случайно был перемещен на рабочий сайт.

Ответы [ 4 ]

1 голос
/ 05 декабря 2008

мы использовали простой обходной путь в прошлом.

Мы устанавливаем страницу входа по умолчанию, чтобы она была простой страницей, доступной для анонимных пользователей, назовем ее checkDomain.aspx

На этой странице мы делаем быструю проверку домена и на основании этого перенаправляем пользователей на страницу login.aspx на промежуточном сайте или на исходный запрошенный URL на рабочем сайте. это было не красиво, но это было быстро и легко реализовать в течение короткого периода времени, когда мы боялись, что что-то подобное может произойти.

1 голос
/ 13 ноября 2008

Этого можно достичь, но для этого вам нужно будет реализовать собственный IHttpModule. Увы, модуль FormsAuthenticationModule запечатан, и это означает, что вам придется начинать с нуля, но Reflector может помочь вам.

0 голосов
/ 17 сентября 2008

В web.config вы можете управлять тем, что делает FormsAuthentication. Итак, ответ вроде как на ваш вопрос, и @Andrew прав.

Однако вы можете сделать что-то в вашем global.asax, чтобы распознать сервер или домен, на котором работает сайт, и отключить FormsAuthentication. Может быть, создать пользователя, который имеет доступ ко всему, и вручную установить FormsAuthenticationTicket для этого пользователя при запуске сеанса, если домен www.mydomain.com.

Это немного хакерски, и я бы предложил вместо этого придумать внеполосный способ управления вашим web.config.

0 голосов
/ 17 сентября 2008

Проверка подлинности форм реализована на экземпляре веб-сайта. Это не сработает.

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