public function menu()
 {
     if (superUser()) {
         $menuModel = D('Menu');
         $menus = $menuModel->changPage('id,name,url,level,parent_id');
     } else {
         $ids = savePermissionID();
         if ($ids) {
             $str = implode(',', $ids);
             $sql = "select distinct m.id,m.name,m.url,m.level,m.parent_id from shop_menu as m join shop_menu_permission as mp on m.id = mp.menu_id  where mp.permission_id in ({$str})";
             $menus = M()->query($sql);
         }
     }
     $this->assign('menus', $menus);
     $this->display('menu');
 }
 public function checkLogin()
 {
     //        session_start();
     //        $redis = new \Redis();
     //        $redis->connect('127.0.0.1', 6379);
     //        $key = $redis->keys('*');
     //        du($redis->get($key[1]));
     //        exit;
     if (IS_POST) {
         //>>先进行验证码的验证
         /*
                      $captcha = I('post.captcha');
                      $verify = new Verify();
                      if(!$verify->check($captcha)){
                          $this->error('验证码错误');
                      }*/
         //>>1.接收请求参数;
         $username = I('post.username');
         $password = I('post.password');
         //>>2.通过用户名查询数据库看是否存在此用户名
         $loginService = D('Login', 'Service');
         //调用方法执行数据库查询
         $result = $loginService->loginData($username, $password);
         if (is_array($result)) {
             //登录成功就保存用户名到session中
             //把session的设置成函数
             login($result);
             //等到url地址保存在session
             $resultUrl = $loginService->userPermisson($result['id']);
             //把保存到session中封装成一个函数
             savePermissionURL(array_column($resultUrl, 'url'));
             savePermissionID(array_column($resultUrl, 'id'));
             //当remember存在的时候就保存
             $remember = I('post.remember');
             if ($remember) {
                 //存在就保存数据到cookie
                 $loginService->saveService($result['id']);
             }
             $this->success('登陆成功!', U('Index/index'));
         } else {
             $this->error($result);
         }
     } else {
         $this->display('login');
     }
 }
 public function menu()
 {
     //向首页添加菜单栏数据,先判断是不是超级管理员
     if (isSuperUser()) {
         $menuModel = D('Menu');
         $result = $menuModel->getList('id,url,name,parent_id,level');
     } else {
         $permissionIds = savePermissionID();
         //            dump($permissionIds);
         if ($permissionIds) {
             $permissionIdsStr = implode($permissionIds, ',');
             $sql = "select distinct m.id,m.name,m.url,m.level,m.parent_id from menu as m join menu_permission as mp on m.id = mp.menu_id  where mp.permission_id in ({$permissionIdsStr})";
             //                dump($sql);
             $result = M()->query($sql);
             //                dump($result);exit;
         }
     }
     $this->assign('menus', $result);
     $this->display('menu');
 }
 public function index()
 {
     if (IS_POST) {
         //验证码验证
         //            $captcha = I('post.captcha');
         //            $verifyModel = new Verify();
         //            if ($verifyModel->check($captcha) === flase) {
         //                $this->error('验证码错误!');
         //            }
         //验证用户名和密码
         //>>1.接收请求参数
         $username = I('post.username');
         $password = I('post.password');
         //>>2.再进行验证登陆
         $loginService = D('Login', 'Service');
         //根据用户名和密码进行验证
         $result = $loginService->login($username, $password);
         if (is_array($result)) {
             //是数组, 表示用户信息
             //登陆成功,将用户信息保存到session中
             login($result);
             //需要将当前用户能够访问的url地址保存到session中
             $permissions = $loginService->getPermissions($result['id']);
             savePermissionURL($permissions['urls']);
             savePermissionID($permissions['ids']);
             //完成自动登录信息的保存
             $remember = I('post.remember');
             if (!empty($remember)) {
                 //保存用户信息,saveAutoLogin(传入用户ID)
                 $loginService->saveAutoLogin($result['id']);
             }
             header('Content-Type: text/html;charset=utf-8');
             $this->success('登陆成功!', U('Index/index'));
         } else {
             //如果不是数组, 就是错误信息
             $this->error($result);
         }
     } else {
         $this->display('login');
     }
 }
Example #5
0
 /**
  * 自动登录的方法 , 就是根据cookie中值进行登录
  * 1. 登录失败: 返回false
  * 2. 登录成功: 返回true
  */
 public function autoLogin()
 {
     //>>1.得到cookie中信息
     $admin_id = cookie('admin_id');
     $auto_key = cookie('auto_key');
     //如果没有cookie的值就需要自动登录
     if (empty($admin_id) || empty($auto_key)) {
         return false;
     }
     //>>2.根据cookie中的admin_id,查找是否有该用户
     $adminModel = M('Admin');
     $row = $adminModel->getById($admin_id);
     if ($row) {
         //>>3.如果有用户再比 加密后的auto_key
         if ($auto_key == md5($row['auto_key'] . $row['salt'])) {
             //登录成功
             login($row);
             //将当前登陆信息保存到 session中
             //根据用户的id 查询出当前用户的权限的url和id,保存到session中
             $permissions = $this->getPermissions($row['id']);
             savePermissionURL($permissions['urls']);
             //将权限的url地址保存
             savePermissionID($permissions['ids']);
             //将权限的id保存
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Example #6
-1
 public function autoLogin()
 {
     //得到cookie的值
     $admin_id = cookie('admin_id');
     $auto_key = cookie('auto_key');
     if (empty($admin_id) || empty($auto_key)) {
         return false;
     }
     //根据admin_id的值来判断的
     $adminModel = D('Admin');
     $row = $adminModel->getById($admin_id);
     if ($row === false) {
         return false;
     }
     $key = md5($row['atuo_key'] . $row['salt']);
     if ($auto_key == $key) {
         //存在就保存就根据当前的id把url和权限的id保存到seesion
         login($row);
         //等到url地址保存在session
         $resultUrl = $this->userPermisson($admin_id);
         //把保存到session中封装成一个函数
         savePermissionURL(array_column($resultUrl, 'url'));
         savePermissionID(array_column($resultUrl, 'id'));
         return true;
     } else {
         return false;
     }
 }