#.net #asp.net #asp.net-membership #forms-authentication #login-control
#.net #asp.net #asp.net-членство #формы-аутентификация #вход-контроль
Вопрос:
Я использую элемент управления входом, и кнопка входа находится на главной странице.
У меня есть страница (т. Е. page1.aspx), куда пользователь может зайти как с логином, так и без логина.
Если пользователь находится на этой странице 1.aspx и нажимает кнопку входа, после успешного входа в систему я хочу, чтобы система вернула пользователя на страницу 1.aspx.
Но теперь после успешного входа в систему система отправляет пользователя на страницу по умолчанию.aspx.
Как я могу этого добиться? любая помощь?
Ответ №1:
Проверка подлинности формы.Метод RedirectFromLoginPage (строка, логическое значение)
Перенаправляет прошедшего проверку подлинности пользователя обратно на первоначально запрошенный URL или URL по умолчанию.
Ответ №2:
Вам нужно передать URL в качестве параметра GET на страницу входа в систему и после успешного входа перенаправить страницу на URL, переданный в качестве параметра GET.
Например:
News.aspx:
<a href="Login.aspx?BackTo=News.aspx">Login</a>
Login.aspx:
if (loginSuccess) {
Response.Redirect(Request.QueryString["BackTo"] ?? "Default.aspx");
}
Ответ №3:
На вашей странице login.aspx при успешном входе в систему вам нужно перенаправить браузер с помощью
<% Response.Redirect("page1.aspx", true) %>
если вы отправите дополнительную информацию в форме, для которой указана страница, на которой пользователь находится в данный момент, вы можете использовать перенаправление, чтобы вернуть их на эту страницу.
Комментарии:
1. ну, если я использую <% ответа. Перенаправление («страница 1.aspx», true) %>, оно вернется на страницу 1.aspx. Но у меня есть несколько других страниц, подобных этой (т. е. страница 2.aspx, страница 3.aspx). в этих случаях он всегда будет возвращаться к page1.aspx. Но я не знаю, с какой страницы пользователь нажмет кнопку входа. Я хочу, чтобы на какой бы странице пользователь ни находился, после успешного входа в систему он перенаправлял пользователя на страницу, на которой пользователь был.
2. я хотел сказать, что если вы замените page1.aspx на страницу, на которую вы хотите их вернуть, отправленную как скрытый элемент в форме, тогда она перенаправит обратно на указанную страницу. Извините, если я не понял.
3. Да, я понял. Но чего я не могу понять, так это ссылки для входа в masterpage. как я могу отправить URL текущей страницы на страницу входа??
4. Как вы сейчас выполняете вход в систему? если вы используете форму, вы могли бы использовать скрытый элемент в форме со значением страницы.
Ответ №4:
<a href="Login.aspx?BackTo=News.aspx?BackTo=<%= Request.RawUrl() %>">Login</a>