2013-08-12 1 views
0

Когда я использую:ASP.net формы аутентификации редирект войти в выпуске страницы

FormsAuthentication.SignOut() 
FormsAuthentication.RedirectToLoginPage() 

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

Я мог бы просто использовать response.redirect, но задавался вопросом, почему он также показывает URL-адрес возврата.

Благодаря

+0

это нормально, и это так, потому что, если вы переадресовываете страницу входа в систему, это потому, что вам нужно войти в систему, и как только вы зарегистрируетесь, приложение перенаправляет вас на начальную страницу, которая отправляет вас на страницу регистрации на странице –

+0

. : http://stackoverflow.com/questions/3716153/how-to-remove-returnurl-from-url – lhan

ответ

0

FormsAuthentication.RedirectToLoginPage()documentation states, что этот метод предназначен для того, когда вы хотите перенаправить пользователя на страницу входа, например, если пользователь выходит из системы и хочет войти в систему как кто-то другой.

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

Похоже, что если вы хотите, чтобы они перешли на домашнюю страницу или какой-либо другой URL-адрес, вы не должны использовать здесь FormsAuthentication.RedirectToLoginPage(). A response.redirect будет прекрасной альтернативой, на мой взгляд.

Чтобы ответить на ваш вопрос, кажется, что есть способ отключить ReturnUrl и использовать FormsAuthentication.RedirectToLoginPage().

+0

Это имеет смысл, я понял причину ReturnURL и его использования. Просто не понял, почему пользователь хотел бы выйти из системы, предполагая, что другой пользователь, возможно, войдет в систему, но затем вернется на предыдущую страницу другого пользователя. –

+0

@ Jrags87, что вы подразумеваете под другим пользователем предыдущей страницы? – christiandev

+0

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

1

Это используется, когда пользователь запрашивает безопасный URL, они затем перенаправлены назад на эту страницу после authenticating.

Взгляните на этот ресурс, очень полезно. Forms Authentication

Что касается удаления этой части URL-адреса, я не думаю, что это возможно (но я не рассматривал его, так как это полезная функция). Вы часто получаете ссылки на такие вещи, как новостные статьи. Вы не возражаете против повторной аутентификации, но если вам нужно просто перейти на случайную домашнюю страницу, это будет раздражать, желаемое действие будет состоять в том, чтобы сайт автоматически перенаправлялся на запрашиваемую вами страницу.

Редактировать: Еще одна причина, помимо прямой ссылки, для которой требуется аутентификация, может быть сценарием, в котором вы читаете многостраничную статью, вы нажимаете следующую страницу и срок действия сессии истек. Вы вернулись на страницу входа в систему, аутентифицируйтесь и вернитесь на страницу, которую вы читали. Было бы нежелательно вернуться на домашнюю страницу, чтобы вы снова искали эту статью.

Смежные вопросы