栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

中间件 防止非法登录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

中间件 防止非法登录

1、在控制器中 当登录成功时 用Session 存入登录数据

    public function save(Request $request)
    {
        try {
            //接值
            $data=$request->all();
            //验证
           validate(Error::class)->batch(true)->check([
                'username'  => $data['username'],
                'password' => $data['password'],
            ]);
            //连接数据库
            $obj = new appdemomodelUser();
            $res = $obj->loginUser($data);
            if($res){
                if($res['password']==$data['password']){
                    //记录
                    Session::set('username',$data['username']);
                    //登录日志  登录成功记录登录信息
                    Log::write('用户'.$data['username'].'在'.date('Y-m-d H:i:s'.'登录成功'));
                    return success(200,'登录成功','');
                }else{
                    return fail(2001,'密码错误','');
                }
            }else{
                return fail(2001,'账号错误','');
            }

        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            $error=$e->getError();
            //返回错误信息
            return fail(2001,$error,'');
        }
    }

2、在模块中的 middleware.php 中开启session

 //开启session
     thinkmiddlewareSessionInit::class

3、创建中间件

php think make:middleware Check

4、在中间件

  public function handle($request, Closure $next)
    {
         //查看数据
         $name = Session::get("username");
         $response =$next($request);
         //未登录 重定向登录页
         if(empty($name) ){
             return redirect("login");
         }
         return $response;
    }

5、在路由中使用

//用户列表展示
Route::any('shows','User/index')->middleware(appmiddlewareCheck::class);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/735088.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号