Запомнить меня не работает в диалоговом окне входа в систему

Я использую MVC4 - бритвенный двигатель. Я отображаю вид входа в систему, используя модальное диалоговое окно nd в контроллере. Я использую "FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe)" для установки cookie. Когда я вхожу напрямую, используя страницу "/Account/LogOn", все работает нормально, и поле имени пользователя / пароля заполняется правильно, если при использовании выбран вариант "Запомнить меня". Но когда я использую модальное диалоговое окно для отображения представления входа в систему, оно не работает, и имя пользователя / пароль не заполняется из файла cookie.

Пожалуйста, дайте мне знать, как решить эту проблему.

Благодарю.

1 ответ

Вы, кажется, запутались: флажок "Запомнить меня" не относится к автоматически заполняемым полям имени пользователя и пароля, но фактически относится к сроку службы куки-файла аутентификации: по умолчанию срок действия куки-файла истекает, когда пользователь закрывает окно браузера (заставляя их повторно вводить свои данные). Когда выбрана эта опция, куки-файл аутентификации будет постоянным, и пользователь будет оставаться в системе между различными сеансами браузера.

Имя пользователя и пароль пользователя автоматически вводятся в поля формы, когда они поддерживаются браузером, это не является функцией веб-приложения (это также невозможно, поскольку приложения никогда не должны иметь доступ к простому паролю пользователя и не хранятся в печенье). Это то, что "Вы хотите, чтобы Firefox запомнил ваше имя пользователя и пароль для этого сайта?" подсказка для.

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

Другие вопросы по тегам