【问题标题】:How to protect pages with unique passwords using Laravel? [closed]如何使用 Laravel 保护具有唯一密码的页面? [关闭]
【发布时间】:2017-04-11 12:46:57
【问题描述】:

我需要在使用 Laravel 的页面上设置密码保护,我的数据库中的每个页面条目都有一个密码字段。

如果密码输入正确,我希望能够访问该页面。

我认为这是有道理的,除了使用 Laravel 的内置身份验证功能之外,我似乎找不到其他任何东西。

提前致谢。

【问题讨论】:

  • 您可以为此在您的网络服务器上设置基本身份验证。这真的很容易。

标签: php laravel authentication laravel-5


【解决方案1】:

这是一件非常简单的事情..

创建一个带有密码字段和隐藏 id 字段的表单,您可以在其中存储要访问的页面的 id。

当用户提交密码时,检查它是否与您数据库中的密码匹配..

if (Hash::check('enetered-password', $hashedPassword)) {
    // The passwords match...
}

如果是这样,将页面 id 存储在会话中的数组中。下次用户要访问该页面时,检查该数组中是否存在该id,如果存在则重定向到该页面,否则重定向到密码表单页面。

更明智的做法是在受保护的页面中添加一个中间件,以检查用户是否有权限并进行重定向。

一旦会话过期(即使用注销)所有数据将被销毁,因此如果他们再次登录,他们需要再次输入页面密码。

【讨论】:

  • 谢谢,我试试看!问题是我需要它在不创建用户帐户的情况下工作,这样任何人只要有密码就可以访问该页面。
  • 这根本不是问题,只是不要将 auth 中间件添加到这些路由中。此外,如果您想限制访问,例如 X 分钟,只需将日期/时间添加到数组中,以便您也可以检查。
猜你喜欢
  • 2012-09-15
  • 2020-04-11
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多