满足条件时,Laravel允许用户访问特定路线

满足条件时,Laravel允许用户访问特定路线,laravel,routes,conditional-statements,Laravel,Routes,Conditional Statements,拉维尔5号 当满足某些条件时,如何让用户访问特定路线 例如,让用户访问 Route::get(view('posts/{id}'),'PostsController@show'); 当用户的“用户->点数”列中的点数超过100点时 您可以使用它,在Laravel中,通过创建您自己的中间件,可以非常轻松地保护您的路线 执行此操作需要以下步骤: 运行命令php-artisan-make:middleware-Middlewarename,您将在app/Http/middleware/yourcus

拉维尔5号

当满足某些条件时,如何让用户访问特定路线

例如,让用户访问

Route::get(view('posts/{id}'),'PostsController@show');
当用户的“用户->点数”列中的点数超过100点时

您可以使用它,在Laravel中,通过创建您自己的中间件,可以非常轻松地保护您的路线

执行此操作需要以下步骤:

运行命令php-artisan-make:middleware-Middlewarename,您将在app/Http/middleware/yourcustomemiddleware.php中找到您的中间件 在刚才创建的app/Http/kernel.php文件中注册中间件 现在,在您刚刚创建的中间件中实现逻辑: YourMiddlewareClassCode:

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if (Auth::user()->points >= 100)
    {

        return $next($request);
       
    }

    return redirect()->back()->with('flash_message','you are not allowed to access this');
}
将中间件连接到您的路由: routes/web.php:

Route::get(view('posts/{id}'),'PostsController@show')->middleware('yourcustommiddleware');
一切就绪,你的路线安全了

摘要:此语句返回$next$请求;在这种情况下,当条件匹配时,中间件将返回路由,否则它将重定向到上一个路由

注意:我不知道您的db结构,这只是一个示例,向您展示了什么是中间件,它是如何工作的,以及您可以如何使用它。

您可以使用它,在Laravel中,通过创建您自己的中间件,很容易保护您的路由

执行此操作需要以下步骤:

运行命令php-artisan-make:middleware-Middlewarename,您将在app/Http/middleware/yourcustomemiddleware.php中找到您的中间件 在刚才创建的app/Http/kernel.php文件中注册中间件 现在,在您刚刚创建的中间件中实现逻辑: YourMiddlewareClassCode:

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if (Auth::user()->points >= 100)
    {

        return $next($request);
       
    }

    return redirect()->back()->with('flash_message','you are not allowed to access this');
}
将中间件连接到您的路由: routes/web.php:

Route::get(view('posts/{id}'),'PostsController@show')->middleware('yourcustommiddleware');
一切就绪,你的路线安全了

摘要:此语句返回$next$请求;在这种情况下,当条件匹配时,中间件将返回路由,否则它将重定向到上一个路由


注意:我不知道您的数据库结构,这只是一个示例,向您展示什么是中间件,它是如何工作的,以及如何使用它。

在laravel的授权下创建一个中间件。在laravel的授权下创建一个中间件。