php Laravel -如何阻止访问一个页面,直到用户完成了某个任务

ruyhziif  于 2023-01-01  发布在  PHP
关注(0)|答案(3)|浏览(140)

其理念是:用户登录后,必须完成调查才能访问其他路由。我想阻止这些路由,直到调查提交,我还在学习Laravel,所以我不知道这是否可以通过中间件或会话或JavaScript代码或..?

iyfjxgzm

iyfjxgzm1#

您可以使用中间件解决laravel中的问题

e4eetjau

e4eetjau2#

查看https://laravel.com/docs/9.x/middleware,这是一个非常全面的文档,其中包含了关于如何实现它的清晰示例

qco9c6ql

qco9c6ql3#

这是旧的,但是正如https://stackoverflow.com/a/54125332/1766113这篇文章中所解释的,您可以使用中间件

<?php

namespace App\Http\Middleware;

use Closure;

class CheckPermission
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // TODO: Add your logic here.

        if ($request->survey_submitted == true) {
            return redirect('home');
        }

        return $next($request);
    }
}

然后在路线文件中:

Route::get('survey/survey-2', function () {
   //
})->middleware(CheckPermission::class);

相关问题