laravel5.4 关于执行删除管理员时候被删用户如果当时是登陆状态还可以操作的处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5.4 关于执行删除管理员时候被删用户如果当时是登陆状态还可以操作的处理相关的知识,希望对你有一定的参考价值。
测试中发现,超级管理把普通管理或者超级管理删除了之后,如果被删除用户正在登陆状态,那么他还可以进行操作。。那么这样的问题就不能在上线发生!
laravel框架 自带的中间件操作就可以处理这样的事情发生! 我们可以在执行删除的时候在中间件中做对应的判断,判断当前session是否存在在数据表中!
前提是你的删除功能可以正常删除!
接下来是我登陆中间件部分加的代码:成功的解决了被删用户还可以进行操作的bug
<?php //定义登录中间件 namespace APP\Http\Middleware; use Closure; use Illuminate\Support\Facades\DB;//引入数据库 use App\Http\Model\Login; class AdminLogin{ public function handle($request, Closure $next) { //echo session(‘user‘); if(!session(‘user‘)){ return redirect(‘login/login‘); } //主要逻辑部分!应该不难理解吧! $user_name = json_decode(session(‘user‘),true)[‘user_name‘]; $user = Login::where(‘user_name‘,$user_name)->first(); if(!$user){ return redirect(‘login/login‘); }else{ return $next($request); } // return $next($request); } }
本文出自 “kangjunfei” 博客,转载请与作者联系!
以上是关于laravel5.4 关于执行删除管理员时候被删用户如果当时是登陆状态还可以操作的处理的主要内容,如果未能解决你的问题,请参考以下文章
cookie超过生命周期后会失效,问题是失效是指cookie文件被删还是浏览器不再使用该cookie但文件仍在