【问题标题】:MVC Forms Authentication with custom database使用自定义数据库进行 MVC 表单身份验证
【发布时间】:2011-02-23 08:49:15
【问题描述】:

我正在尝试让表单身份验证适用于 mvc 站点。我有一个带有用户表的自定义数据库,我想自己验证密码。

我正在像这样登录我的用户:

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

问题是,当会话到期时,用户显然必须重新登录。

我认为我应该将此 Auth cookie 存储在我的用户表中?

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

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

【问题讨论】:

  • 你能澄清你的问题吗?如何在数据库表中存储 cookie?
  • 我当时的想法是,在应用重启的情况下,我需要某种方式将表单身份验证 cookie 与数据库中的某些内容相关联。

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


【解决方案1】:

原来我忘了把我的变量放在 SetAuthCookie 方法的第二个参数中。对于“持久”的论点,它总是发送 true 。 FML。

【讨论】:

    【解决方案2】:

    我建议您实现自定义 Membership Provider,这样您就可以利用现有成员资格提供程序的现有控件或模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多