受密码保护的Laravel中的视图

时间:2019-11-14 09:53:27

标签: php laravel

我有1个视图,/lookup/{ID}有一个显示一些信息的框。如果创建查找,则可以决定是否要使用密码保护查找。

因此,我正在检查PostController中的lookup函数,如果数据库中的密码为空,否则我将执行return view ('password'),然后显示密码视图,这就是我想要的它。但现在出现了棘手的部分:

如果密码正确,我显然希望用户显示信息,这就是为什么我要这样做:

if(Request::is('password')) {
   if(Hash::make($request->password) == $post->password) {
       return view('/lookup/' . $id);
   }
}

但是当我输入密码时,密码为The POST method is not supported for this route. Supported methods: GET, HEAD.

我的密码和查找视图使用相同的功能:lookup

查找是get路由,密码是post路由

Route::post('/password/{id}', 'PostController@lookup');
Route::get('/lookup/{id}', 'PostController@lookup');

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

也许可以使用任何参数。

Route::any('/password/{id}', 'PostController@lookup');

示例; https://laravel.com/docs/6.x/routing

除了保护csrf令牌外,您还需要此url;编辑app \ Http \ Middleware \ VerifyCsrfToken.php中受保护的$ except除外。例子

  protected $except = [
        //
        "/password/*"
    ];

答案 1 :(得分:0)

您在表单上使用哪种方法发送密码?错误的种类表明您正在发布到查找路线...这是很不错的。

相关问题