ASP.NET Несколько страниц входа, в зависимости от того, к какой папке пользователь пытается получить доступ - PullRequest
2 голосов
/ 15 июля 2010

Я разработал приложение в ASP.NET 3.5, в котором используются провайдеры членства и ролей, а также проверка подлинности на основе форм для управления доступом пользователей и профилями.

Существуют различные области этого приложения, которые должны использоваться только пользователями-администраторами, которые входят в систему, используя свой адрес электронной почты и пароль, а остальные пользователи входят в систему, используя свой номер телефона и пароль через свой iPhone.

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

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

/ Admin
/ Курьеры
/ Клиенты
/ Что бы ни
Default.aspx
iPhoneLogin.aspx
adminLogin.aspx
Web.config

Я хочу иметь возможность перенаправлять пользователей, которые переходят на www.myapp.com/Wh независимо от iPhoneLogin.aspx, а пользователей - на www.myapp.com/Admin в adminLogin.aspx

Может кто-нибудь предложить способ сделать это через веб-конфигурацию, если это возможно?

Если нет, есть ли у кого-нибудь другие предложения о том, как этого добиться?

Спасибо, Тристан

1 Ответ

2 голосов
/ 15 июля 2010

Когда поставщик FormsAuthentication перенаправляет пользователя на страницу входа, указанную в вашем файле web.config, предыдущий URL-адрес будет передан как параметр строки запроса «ReturnUrl».Я бы назвал одну из ваших 2-х страниц входа в систему основной, и она была бы указана в качестве страницы входа в файле web.config.На странице Page.Load проверьте, является ли параметр ReturnUrl для другой защищенной папки.Если это так, перенаправьте пользователя на другую страницу входа.Просто убедитесь, что вы отправляете и параметр ReturnUrl.

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