Загружать страницу только с определенных страниц? - PullRequest
0 голосов
/ 07 мая 2018

Веб-форма ASP.NET. В настоящее время я использую Response.Redirect () для перенаправления на другую страницу при нажатии кнопки или навигации. Есть ли способ проверить, откуда происходит перенаправление? Допустим, у меня есть Login.aspx, и когда я нажимаю кнопку Сохранить, он перенаправляется на Account.aspx, но я хочу проверить, откуда он приходит. Если кто-то просто пишет в браузере Account.aspx, этот человек может просто зайти на эту страницу, а я этого не хочу. Есть ли способ проверить перенаправление, чтобы оно не было нулевым, и чтобы оно пришло с определенной страницы?

РЕДАКТИРОВАТЬ, чтобы уточнить мою проблему: Допустим, у меня есть Index.aspx и меню Registration.aspx. Регистрация - это просто форма для сохранения пользовательских данных, после чего она перенаправляется на Buythings.aspx. Я хочу, чтобы парень получил доступ к Buythings.aspx только с определенного перенаправления страницы (Registration.aspx)

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Вам необходимо request.referrer;Примерно так (возможно, вам придется немного его отредактировать):

string pageName = Request?.UrlReferrer?.Segments[1];

Тогда вы скажете:

if (pageName ="Registration.aspx")
{ DO STuff}
0 голосов
/ 08 мая 2018

Использовать Http referer (wiki)

Request.UrlReferrer (так обсудить) - это фактическое свойство, которое доступно как часть спецификации http.

Однако, как упомянуто в вики, есть определенные случаи, когда он может не работать или может быть подделан, поэтому вы должны позаботиться об этом.

0 голосов
/ 07 мая 2018

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

User.Identity.IsAuthenticated

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