Аутентификация формы с несколькими страницами входа - PullRequest
0 голосов
/ 11 марта 2011

Я прочитал множество сообщений людей, пытающихся использовать две разные страницы входа: одну для пользователей и одну для администраторов. У меня вопрос совсем другой. У меня есть страница Site.master с LoginView и LoginControl. Затем у меня есть три страницы корневого уровня Default.aspx, About.aspx и Contact.aspx, которые являются производными от Site.master. Все три страницы настроены в web.config, чтобы быть доступными для всех пользователей. Затем у меня есть MemberPage в папке Member, которая доступна только аутентифицированным пользователям. Я хочу, чтобы я мог войти на страницу «По умолчанию», «О нас» или «Контакты», а затем перейти на страницу участника.

Способ проверки подлинности формы теперь установлен, у меня может быть только один loginUrl и один defaultUrl. Это означает, что если у меня есть эти настройки в моем web.config:

<authentication mode="Forms"> <forms name="ishAuth" loginUrl="Default.aspx" timeout="50" defaultUrl="~/Member/MemberPage.aspx"></forms> </authentication>

единственной страницей, которая перенаправляет на /Member/MemberPage.aspx, является Default.aspx. Я хочу, чтобы мои пользователи могли просматривать анонимный раздел сайта и входить с любой страницы, а затем перенаправляться на страницу участника. Прямо сейчас, если я нахожусь на странице About.aspx и захожу, я аутентифицирован, но остаюсь на странице About.

Есть ли способ обойти свойства элемента? Могу ли я отключить действия элемента по умолчанию и выполнить перенаправление, используя свой собственный код?

1 Ответ

0 голосов
/ 11 марта 2011

У меня сейчас нет доступа к Visual studio, но вы должны иметь возможность использовать событие OnLoggedIn элемента управления входом в систему, чтобы делать то, что вы хотите.Создайте четный обработчик для этого события и просто введите Response.Redirect("~/Member/MemberPage.aspx"), и ваши пользователи должны быть перенаправлены на нужную страницу.

Вы можете посмотреть эту страницу в MSDN длябольше информации.

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