温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 服务器 > 
  • 系统运维 > 
  • laravel5.4 关于执行删除管理员时候被删用户如果当时是登陆状态还可以操作的处理

laravel5.4 关于执行删除管理员时候被删用户如果当时是登陆状态还可以操作的处理

发布时间:2020-07-20 02:19:02 来源:网络 阅读:527 作者:kangjunfei 栏目:系统运维

测试中发现,超级管理把普通管理或者超级管理删除了之后,如果被删除用户正在登陆状态,那么他还可以进行操作。。那么这样的问题就不能在上线发生!


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);
    }

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI