我正在尝试为mvc网站提供表单身份验证。我有一个带有用户表的自定义数据库,我想自己进行密码验证。
我正在登录我的用户:
if (PasswordHasher.Hash(password) == dataUser.Password)
{
FormsAuthentication.SetAuthCookie(email, true);
return true;
}
问题是,当会话过期时,用户必须再次登录。
我在想我应该将这个Auth cookie存储在我的用户表中?
更新:我显然迫切需要在这方面接受更多教育。我刚注意到用户即使在iisreset之后也会保持身份验证。
我想我要问的是如何才能使持久性和非持久性身份验证正常工作。我希望用户在单击“记住”时不必再次登录,如果他们不这样做,那么当表单身份验证设置为过期时,他们的身份验证将会过期。
答案 0 :(得分:1)
结果我忘记将我的变量放在SetAuthCookie方法的第二个参数中。它总是为“持久”论证发送真实。 FML。
答案 1 :(得分:0)
我建议您实施自定义Membership Provider,以便您可以利用现有会员提供商的现有控制或模式。