2017-04-11 97 views
0

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

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

我觉得这是有道理的,似乎我不能找到比使用内置的东西在这等其他laravel的身份验证功能...

在此先感谢。

+0

你可以在你的web服务器上为此设置基本认证。这很容易。 – apokryfos

回答

3

这是一个非常简单的事..

创建一个密码字段和一个隐藏的id字段您存储您要访问的页面的ID的形式。

当用户提交密码,检查它是否符合一个在数据库..

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

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

将中间件添加到受保护的页面,以检查用户是否具有权限并重定向会更明智。

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

+0

谢谢,我会放弃!问题是我需要这个工作而不创建用户帐户,只要有密码,任何人都可以访问该页面。 – ogagh

+0

这完全不是问题,只是不要将auth中间件添加到这些路由中。此外,如果您想限制访问权限,例如X分钟,只需在数组中添加日期/时间,以便您也可以检查。 –