2010-05-24 2 views
2

Я пытаюсь получить проверку подлинности на основе форм для сайта mvc. У меня есть пользовательская база данных с таблицей пользователей, и я бы хотел сделать свою собственную проверку пароля.MVC Forms Authentication с пользовательской базой данных

Я вход в моем пользователе, как это:

if (PasswordHasher.Hash(password) == dataUser.Password) 
{ 
    FormsAuthentication.SetAuthCookie(email, true); 
    return true; 
} 

Проблема заключается в том, когда сессия истекает, очевидно, пользователь должен войти снова.

Я думаю, что я должен хранить этот файл cookie Auth в моей таблице пользователей?

Обновление: Я, очевидно, остро нуждаюсь в большем образовании в этой области. Я просто заметил, что пользователь остается аутентифицированным даже после iisreset.

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

+1

Вы можете уточнить свой вопрос? Как сохранить файл cookie в таблице базы данных? – jfar

+0

Я думал, что мне нужно каким-то образом связать файлы cookie с проверкой подлинности с чем-то в моей базе данных, в случае перезапуска приложения. – AndrewVos

ответ

1

Оказывается, я забыл поместить свою переменную во второй аргумент метода SetAuthCookie. Он всегда отправлял верно для «постоянного» аргумента. FML.

0

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

+3

Примеры? Учебники? – IronMan84

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