我需要在laravel中设置受密码保护的页面(使用5.4),我数据库中的每个页面条目都有一个密码字段。
如果密码输入正确,我希望只能访问该页面...
我认为这是有道理的,除了使用laravel内置的auth功能外,我似乎无法找到其他任何内容...
提前致谢。
答案 0 :(得分:3)
这是一件非常简单的事情......
创建一个包含密码字段和隐藏ID字段的表单,您可以在其中存储要访问的页面的ID。
当用户提交密码时,请检查密码是否与数据库中的密码匹配..
if (Hash::check('enetered-password', $hashedPassword)) {
// The passwords match...
}
如果是,请将页面ID存储在会话中的数组中。下次用户想要访问该页面时,检查该数组中是否存在该ID,如果是,则重定向到该页面,否则重定向到密码表单页面。
将中间件添加到受保护的页面,检查用户是否拥有权限以及重定向更为明智。
一旦会话到期(即使用注销),所有数据都将被销毁,因此如果他们再次登录,他们需要再次输入页面密码。