asp.net mvc 4: simplemembership — WebSecurity.Login завершается с ошибкой, когда пользователь не подтвержден

По умолчанию метод WebSecurity.Login возвращает false, если пользователь не подтвержден. Как я могу заставить его работать независимо от статуса подтверждения пользователя?


person Jungong Shi    schedule 20.01.2013    source источник


Ответы (1)


Если подтверждение для вас не важно, то при вызове CreateUserAndAccount() или CreateAccount() убедитесь, что вы передаете requireConfirmationToken как false.

Таким образом, после создания учетной записи не потребуется подтверждения, а функция Login() должна работать с правильными учетными данными.

РЕДАКТИРОВАТЬ: Общая потребность в подтверждении заключается в том, чтобы убедиться, что у вас есть надежное средство связи с пользователем (например, адрес электронной почты), если пользователь забыл свой пароль. Без подтверждения у вас не будет этого "подтвержденного" средства связи. Вы также можете попробовать перевернуть биты в базе данных webpages_Membership (IsConfirmed == 1), но я бы тоже этого не рекомендовал.

person Sandeep Phadke    schedule 11.04.2013
comment
Как вы сказали, я бы не рекомендовал переворачивать биты - если вам это нужно, вам, вероятно, не следует использовать механизм подтверждения. Вместо этого просто передайте false вместо requireConfirmationToken, и новые пользователи будут автоматически подтверждены. - person Mattygabe; 05.06.2013
comment
Мне нужно подтвердить адрес электронной почты пользователя, поэтому подтверждение важно для меня. Но когда я передаю requireConfirmationToken: true в CreateUserAndAccount(), созданный пользователь не может войти в систему. На моем сайте пользователи должны иметь возможность входить в систему, не подтверждая свою электронную почту (как и на многих других сайтах). - person Jungong Shi; 09.06.2013