如何在Laravel 5.4中实现中间件跳转

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

如何在Laravel 5.4中实现中间件跳转

在Laravel 5.4之前,我们可以使用中间件来实现跳转功能。但是,Laravel 5.4中间件的实现方式有所不同。在本文中,我们将讨论如何在Laravel 5.4中实现中间件跳转。

一、在Laravel 5.4中实现中间件跳转

在Laravel 5.4中,我们可以使用redirect()函数和with()函数来实现中间件跳转。下面我们来看一个例子:

创建一个日志中间件

在app/Http/Middleware目录下,创建一个LogMiddleware.php文件,内容如下:

<?phpnamespace App\Http\Middleware;use Closure;use Illuminate\Support\Facades\Log;class LogMiddleware{    public function handle($request, Closure $next)    {        Log::info('LogMiddleware');        return $next($request);    }}
登录后复制

上面的代码创建了一个名为LogMiddleware的中间件,在handle函数中记录了一条日志。

创建一个授权中间件

在app/Http/Middleware目录下,创建一个AuthMiddleware.php文件,内容如下:

<?phpnamespace App\Http\Middleware;use Closure;class AuthMiddleware{    public function handle($request, Closure $next)    {        if (!auth()->check()) {            return redirect('/login')->with('error', '请先登录!');        }        return $next($request);    }}
登录后复制

上面的代码创建了一个名为AuthMiddleware的中间件,在handle函数中判断用户是否已登录,如果未登录,则跳转到登录页面,并将错误信息保存到session中。

将中间件注册到路由中

在routes/web.php文件中,注册路由和中间件,代码如下:

Route::get('/dashboard', function () {    return view('dashboard');})->middleware([LogMiddleware::class, AuthMiddleware::class]);
登录后复制

上面的代码创建了一个名为dashboard的路由,在dashboard路由中,使用了LogMiddleware和AuthMiddleware中间件。

实现中间件跳转

直接访问http://yourdomain/dashboard页面时,将会自动跳转到http://yourdomain/login,并在session中保存有错误信息。

二、总结

在Laravel 5.4中,我们可以使用redirect()函数和with()函数来实现中间件跳转。通过以上步骤,我们成功地实现了一个中间件跳转功能。希望本文能对你有所帮助!

以上就是如何在Laravel 5.4中实现中间件跳转的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:如何使用PHP7.0实现一个智能家居系统?
下一篇:如何使用PHP正则表达式验证XML标签格式

发表评论

关闭广告
关闭广告