несколько страниц входа в ASP.NET формы аутентификации - PullRequest
1 голос
/ 02 июня 2010

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

Есть ли хороший способ реализовать это в ASP.NET с проверкой подлинности с помощью форм? Я получаю только 1 loginUrl в моем web.config.

Я вполне уверен, что мой банк использует Java.

Ответы [ 2 ]

0 голосов
/ 02 июня 2010

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

Вы можете реализовать это самостоятельно, если вы используете встроенный провайдер AspNetSqlMembershipProvider, вы можете настроить встроенный контроль входа в систему и переопределить метод OnLoggingIn. Затем вы можете делать все, что вам нужно, для этого логина и перемещать его на другую страницу. На следующей странице вы можете переопределить другие методы таким же образом, как: OnAuthenticate и OnLoggedIn, продолжая использовать встроенный элемент управления (но настроенный), если это необходимо. Затем вы можете установить страницу входа в ваш web.config на вашу первую страницу входа. Вы можете увидеть MSDN и для других методов.

Теперь, как уже указывалось, это не идеально, потому что это не типично, и большинство пользователей не поймут, что происходит, или подумают, что это ненадежно (как и я в отношении банка). Не говоря уже о том, что вам нужно будет сделать дополнительные проверки, аналогичные тому, как это делает этот банк, чтобы убедиться, что все законно исходит от клиента. Так что, в конце концов, я бы не советовал этого делать, так как это доставляет много хлопот конечному пользователю.

0 голосов
/ 02 июня 2010

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

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

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

Если вы хотите сделать то же самое, вам нужно 2 страницы, в первом вы спрашиваете имя пользователя, затем вы ищете в локальной базе данных, если это действительный пользователь , то вы оставляете этого пользователя имя переменной, которую вы отправляете на второй странице, которая является фактическим логином. На второй странице у вас есть общий модуль входа в систему asp.net, но вы скрыли имя пользователя, и в то же время вы установили его со значением из предыдущей страницы . А остальное зависит от вас.

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