MVC Forms身份验证与自定义数据库

时间:2010-05-24 18:33:42

标签: asp.net asp.net-mvc forms-authentication c#-4.0

我正在尝试为mvc网站提供表单身份验证。我有一个带有用户表的自定义数据库,我想自己进行密码验证。

我正在登录我的用户:

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

问题是,当会话过期时,用户必须再次登录。

我在想我应该将这个Auth cookie存储在我的用户表中?

更新:我显然迫切需要在这方面接受更多教育。我刚注意到用户即使在iisreset之后也会保持身份验证。

我想我要问的是如何才能使持久性和非持久性身份验证正常工作。我希望用户在单击“记住”时不必再次登录,如果他们不这样做,那么当表单身份验证设置为过期时,他们的身份验证将会过期。

2 个答案:

答案 0 :(得分:1)

结果我忘记将我的变量放在SetAuthCookie方法的第二个参数中。它总是为“持久”论证发送真实。 FML。

答案 1 :(得分:0)

我建议您实施自定义Membership Provider,以便您可以利用现有会员提供商的现有控制或模式。