使用laravel框架怎么实现一个后台登录功能

今天就跟大家聊聊有关使用laravel框架怎么实现一个后台登录功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

//登录
public function logins){
        //post方式则为登录操作
        ifRequest)->isMethod'post')){
        $info = Request)->only'username','pwd');//过滤表单提交数据,接受用户名,密码
        $result = Admin::admin_login$info);//此处为调用模型,进行验证
        //根据模型返回的结果,进行判断登录状态
        if$result['status']==200){
          return redirect'index')->with'id',Session::get'userinfo')['uid']);
        }elseif$result['status']==205){
          return redirect'login')->with'msg',$result['message']);
        }elseif$result['status']==203){
          return redirect'login')->with'msg',$result['message']);
        }else{
          return redirect'login');
        }
        }elseifRequest)->isMethod'get')){//如果请求方式为get方式,说明为登录页面
          return view'CloudAdmin/login');
        }
    }

接下来,我们看模型的一些操作

//登录操作判断
public static function admin_login$info){
     ifempty$info['username'])){
       $result['status']=205;
       $result['message']="请输入用户名";
     }else{
      ifempty$info['pwd'])){
        $result['status']=205;
        $result['message']='请输入密码';
      }else{
        $user = DB::table'sc_admin')->where'username',$info['username'])->first);
        if!$user){
          $result['status']=202;
          $result['message']="用户不存在";
        }else{
          ifmd5$info['pwd'])!=$user->password){
          $result['status']=203;
          $result['message']="密码错误";
        }else{
            $userinfo = array'uid'=>$user->id,'username'=>$user->username);
            Session::put'userinfo',$userinfo);//登录成功,存储当前登录用户的id和用户名
            //$time--将最后登录时间以及登录状态进行更新
            $time = array'last_login'=>date'Y-m-d H:i:s'),'login_status'=>1);
            DB::table'sc_admin')->where'id',$user->id)->update$time);
            //保存服务器信息
            $web = array
              'IP' => $_SERVER['REMOTE_ADDR'],
              'login_time' => date'Y-m-d H:i:s',$_SERVER['REQUEST_TIME']),
              'webserver' => $_SERVER['SERVER_SOFTWARE'],
              'admin'=>Session::get'userinfo')['username']
            );
            //将服务器信息入库
            DB::table'sc_webinfo')->insert$web);
            $result['status']=200;
            $result['message']="登录成功";
          }
        }
      }
    }
    return $result;
}

登录成功之后,一切都是基于session存在的情况下操作的,如果session信息不存在,则会返回登录界面;

再来看看退出操作:当前点击"退出"之后,我们应该执行那些操作?

//退出登录,清除session,返回登录页面
public function login_out){
    //点击退出,将此用户的登录状态改变为未登录
    $array=array'login_status'=>0);
    DB::table'sc_admin')->where'id',Session::get'userinfo')['uid'])->update$array);
    //删除session信息
    Session::forget'userinfo');
    return redirect'login');
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注