当前位置: 首页>>代码示例>>PHP>>正文


PHP RBAC类代码示例

本文整理汇总了PHP中RBAC的典型用法代码示例。如果您正苦于以下问题:PHP RBAC类的具体用法?PHP RBAC怎么用?PHP RBAC使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了RBAC类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _initialize

 function _initialize()
 {
     //echo '<pre>';print_r($_SESSION);exit;
     //import('@.ORG.Util.Cookie');
     // 用户权限检查
     if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
         //  import('@.ORG.Util.RBAC');
         if (!RBAC::AccessDecision()) {
             //检查认证识别号,没有登录的情况
             if (!$_SESSION[C('USER_AUTH_KEY')]) {
                 //跳转到认证网关
                 redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
             }
             // 没有权限 抛出错误
             if (C('RBAC_ERROR_PAGE')) {
                 // 定义权限错误页面
                 redirect(C('RBAC_ERROR_PAGE'));
             } else {
                 if (C('GUEST_AUTH_ON')) {
                     $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
                 }
                 // 提示错误信息
                 unset($_SESSION[C('USER_AUTH_KEY')]);
                 //不然在某些情况会在,登陆页面反复跳转
                 $this->error(L('_VALID_ACCESS_'), PHP_FILE . C('USER_AUTH_GATEWAY'));
                 //$this->error(L('_VALID_ACCESS_'),__APP__ . C('USER_AUTH_GATEWAY'));
             }
         }
     }
 }
开发者ID:andychang88,项目名称:fuzhuang.erp.com,代码行数:30,代码来源:CommonController.class.php

示例2: getAname

 public function getAname($authId)
 {
     import('@.ORG.RBAC');
     $groupList = RBAC::getFileGroupAccessList();
     // 查询菜单分组
     $model = M("group");
     //管理员排除验证
     if (!isset($_SESSION['a'])) {
         $map['status'] = 1;
         if ($groupList) {
             $map['id'] = array(" in ", $groupList);
         } else {
             $map['id'] = 0;
         }
     } else {
         $map['status'] = array('gt', 0);
     }
     $list = $model->where($map)->order("sorts asc")->select();
     $pModel = D("Public");
     $nlist = array();
     foreach ($list as $key => $val) {
         $nlist[$val['id']] = $pModel->menuLeftTree($val['id']);
     }
     return $nlist;
 }
开发者ID:tmlsoft,项目名称:main,代码行数:25,代码来源:MisSystemClientChangeRoleModel.class.php

示例3: _initialize

 function _initialize()
 {
     // 用户权限检查
     if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
         import('ORG.Util.RBAC');
         if (!RBAC::AccessDecision()) {
             //检查认证识别号
             if (!$_SESSION[C('USER_AUTH_KEY')]) {
                 //跳转到认证网关
                 redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
             }
             // 没有权限 抛出错误
             if (C('RBAC_ERROR_PAGE')) {
                 // 定义权限错误页面
                 redirect(C('USER_AUTH_GATEWAY'));
             } else {
                 if (C('GUEST_AUTH_ON')) {
                     $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
                 }
                 // 提示错误信息
                 $this->error(L('_VALID_ACCESS_'));
             }
         }
         if (!get_magic_quotes_gpc()) {
             !empty($_POST) && Add_S($_POST);
             !empty($_GET) && Add_S($_GET);
             !empty($_COOKIE) && Add_S($_COOKIE);
             !empty($_SESSION) && Add_S($_SESSION);
         }
         !empty($_FILES) && Add_S($_FILES);
     }
 }
开发者ID:uwitec,项目名称:lfoa,代码行数:32,代码来源:CommonAction.class.php

示例4: AccessDecision

 public static function AccessDecision($appName = APP_NAME)
 {
     if (RBAC::checkAccess()) {
         $accessGuid = md5($appName . MODULE_NAME . ACTION_NAME);
         if (empty($_SESSION[C('ADMIN_AUTH_KEY')])) {
             if (C('USER_AUTH_TYPE') == 2) {
                 $accessList = RBAC::getAccessList($_SESSION[C('USER_AUTH_KEY')]);
             } else {
                 if ($_SESSION[$accessGuid]) {
                     return true;
                 }
                 $accessList = $_SESSION['_ACCESS_LIST'];
             }
             $module = defined('P_MODULE_NAME') ? P_MODULE_NAME : MODULE_NAME;
             if (!isset($accessList[strtoupper($appName)][strtoupper($module)][strtoupper(ACTION_NAME)])) {
                 $_SESSION[$accessGuid] = false;
                 return false;
             } else {
                 $_SESSION[$accessGuid] = true;
             }
         } else {
             return true;
         }
     }
     return true;
 }
开发者ID:hehekeke,项目名称:pigcms,代码行数:26,代码来源:RBAC.class.php

示例5: _initialize

 function _initialize()
 {
     import('@.ORG.Util.Cookie');
     // 用户权限检查
     if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
         import('@.ORG.Util.RBAC');
         if (!RBAC::AccessDecision()) {
             //检查认证识别号
             if (!$_SESSION[C('USER_AUTH_KEY')]) {
                 //跳转到认证网关
                 redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
             }
             // 没有权限 抛出错误
             if (C('RBAC_ERROR_PAGE')) {
                 // 定义权限错误页面
                 redirect(C('RBAC_ERROR_PAGE'));
             } else {
                 if (C('GUEST_AUTH_ON')) {
                     $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
                 }
                 // 提示错误信息
                 $this->error(L('_VALID_ACCESS_'));
             }
         }
     }
 }
开发者ID:sdgdsffdsfff,项目名称:huapuyu,代码行数:26,代码来源:CommonAction.class.php

示例6: RBAC

 /**
  * to get singleton instance
  *
  * @access public
  * @return object
  */
 public function &getSingleton()
 {
     if (self::$instance == null) {
         self::$instance = new RBAC();
     }
     return self::$instance;
 }
开发者ID:bqevin,项目名称:processmaker,代码行数:13,代码来源:class.rbac.php

示例7: checkLogin

 function checkLogin()
 {
     if (empty($_POST['username'])) {
         $this->error('帐号错误!');
     } elseif (empty($_POST['password'])) {
         $this->error('密码必须!');
     }
     //生成认证条件
     $map = array();
     // 支持使用绑定帐号登录
     $map['username'] = $_POST['username'];
     import('ORG.Util.RBAC');
     $authInfo = RBAC::authenticate($map);
     //使用用户名、密码和状态的方式进行认证
     if (false === $authInfo) {
         $this->error('帐号不存在或已禁用!');
     } else {
         if ($authInfo['password'] != md5($_POST['password'])) {
             $this->error('密码错误!');
         }
         $_SESSION[C('USER_AUTH_KEY')] = $authInfo['id'];
         if ($authInfo['username'] == 'admin') {
             $_SESSION['administrator'] = true;
         }
         // 缓存访问权限
         RBAC::saveAccessList();
         $this->success('登录成功!');
     }
 }
开发者ID:jl9n,项目名称:thinkphpdemo,代码行数:29,代码来源:PublicAction.class.php

示例8: _initialize

 protected function _initialize()
 {
     $sql = "SHOW COLUMNS FROM `" . C("DB_PREFIX") . "user`";
     $COLUMNS = M()->query($sql);
     foreach ($COLUMNS as $vo) {
         $COLUMNS_array[] = $vo["Field"];
     }
     if (!in_array("is_admin", $COLUMNS_array)) {
         $sql = "ALTER TABLE `" . C("DB_PREFIX") . "user` ADD `is_admin` INT NOT NULL DEFAULT '0'";
         M()->query($sql);
     }
     if (!isset($_SESSION["username"])) {
         $this->error("非法操作", U("System/Admin/index"));
     }
     parent::_initialize();
     C("NOT_AUTH_ACTION", "");
     C("NOT_AUTH_MODULE", "Admin");
     if (C("USER_AUTH_ON") && !in_array(MODULE_NAME, explode(",", C("NOT_AUTH_MODULE")))) {
         if (!RBAC::AccessDecision()) {
             if (!$_SESSION[C("USER_AUTH_KEY")]) {
                 redirect(PHP_FILE . C("USER_AUTH_GATEWAY"));
             }
             if (C("RBAC_ERROR_PAGE")) {
                 redirect(C("RBAC_ERROR_PAGE"));
             } else {
                 if (C("GUEST_AUTH_ON")) {
                     $this->assign("jumpUrl", PHP_FILE . C("USER_AUTH_GATEWAY"));
                 }
                 $this->error(L("_VALID_ACCESS_"));
             }
         }
     }
     $this->show_menu();
 }
开发者ID:liuguogen,项目名称:weixin,代码行数:34,代码来源:BackAction.class.php

示例9: login

 public function login()
 {
     if (!IS_POST) {
         halt('页面不存在');
     }
     //sae平台特殊处理验证码
     if (md5(strtoupper($_POST['code'])) != $_SESSION['verify']) {
         //验证错误处理代码
         $this->error('验证码错误');
     }
     // if(I('code', '', 'strtolower') != session('verify')){
     // 	$this->error('验证码错误');
     // }
     $db = M('user');
     $user = $db->where(array('username' => I('username')))->find();
     if (!$user || $user['password'] != I('password', '', 'md5')) {
         $this->error('username or password wrong!');
     }
     //更新最后一次登录时间与IP
     $data = array('id' => $user['id'], 'logintime' => time(), 'loginip' => get_client_ip());
     $db->save($data);
     session(C('USER_AUTH_KEY'), $user['id']);
     session('username', $user['username']);
     session('logintime', date('Y-m-d H:i:s', $user['logintime']));
     session('loginip', $user['loginip']);
     //超级管理员识别
     if ($user['username'] == C('RBAC_SUPERADMIN')) {
         session(C('ADMIN_AUTH_KEY'), true);
     }
     // p($_SESSION);
     //读取用户权限
     import('ORG.Util.RBAC');
     RBAC::saveAccessList();
     redirect(__GROUP__);
 }
开发者ID:houzhenggang,项目名称:TravelManagerment-WebClient,代码行数:35,代码来源:LoginAction.class.php

示例10: RBAC

 /**
  * to get singleton instance
  *
  * @access public
  * @return object
  */
 function &getSingleton()
 {
     if (self::$instance == NULL) {
         self::$instance = new RBAC();
     }
     return self::$instance;
 }
开发者ID:nshong,项目名称:processmaker,代码行数:13,代码来源:class.rbac.php

示例11: login

 public function login()
 {
     if (!IS_POST) {
         halt('页面不存在3');
     }
     // 		if(I('code','','md5')!=session('verify')){
     // 			$this->error('验证码错误');
     // 		}
     $username = I('username');
     $pwd = I('password', '', 'md5');
     $user = M('user')->where(array('username' => $username))->find();
     if (!$user || $user['password'] != $pwd) {
         $this->error('账号或密码错误!');
     }
     if ($user['lock']) {
         $this->error('用户被锁了');
     }
     $data = array('id' => $user['id'], 'logintime' => time(), 'loginip' => get_client_ip());
     M('user')->save($data);
     session(C('USER_AUTH_KEY'), $user['id']);
     session('username', $user['username']);
     session('logintime', date('Y-m-d H:i:s', $user['logintime']));
     session('loginip', $user['loginip']);
     //超级管理员识别
     if ($user['username'] == C('RBAC_SUPERADMIN')) {
         session(C('ADMIN_AUTH_KEY'), true);
     }
     //读取用户权限
     import('ORG.Util.RBAC');
     RBAC::saveAccessList();
     p($_SESSION);
     die;
     $this->redirect('Admin/Index/index');
 }
开发者ID:highestgoodlikewater,项目名称:Thinkphp-Wishing-Wall,代码行数:34,代码来源:LoginAction.class.php

示例12: _initialize

	protected function _initialize(){		
		if(!isset($_SESSION['username'])){$this->error('非法操作',U('System/Adminsaivi/index'));}
		parent::_initialize();
		if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
            if (!RBAC::AccessDecision()) {
                //检查认证识别号
                if (!$_SESSION [C('USER_AUTH_KEY')]) {
                    //跳转到认证网关
                    redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
                }
                // 没有权限 抛出错误
                if (C('RBAC_ERROR_PAGE')) {
                    // 定义权限错误页面
                    redirect(C('RBAC_ERROR_PAGE'));
                } else {
                    if (C('GUEST_AUTH_ON')) {
                        $this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
                    }
                    // 提示错误信息
                    $this->error(L('_VALID_ACCESS_'));
                }
            }
        }
		$this->show_menu();
	}
开发者ID:royalwang,项目名称:saivi,代码行数:25,代码来源:BackAction.class.php

示例13: login

 public function login()
 {
     if (!IS_POST) {
         _404('页面不存在');
     }
     /*if(I('code', '', 'md5') != session('verify')){
     			$this->error('验证码错误');
     		}*/
     $username = I('username');
     $pwd = I('password', '', 'md5');
     $user = M('user')->where(array('username' => $username))->find();
     if (!$user || $user['password'] != $pwd) {
         $this->error('账号或密码错误');
     } else {
         if ($user['lock']) {
             $this->error('用户被锁定');
         }
     }
     //更新数据库
     $data = array('id' => $user['id'], 'loginTime' => time(), 'loginIp' => get_client_ip());
     M('user')->save($data);
     //读取权限
     session(C('USER_AUTH_KEY'), $user['id']);
     session('username', $user['username']);
     session('loginTime', date('y-m-d H:i:s'), $user['loginTime']);
     session('loginIp', $user['loginIp']);
     if ($user['username'] == C('RBAC_SUPERADMIN')) {
         session(C('ADMIN_AUTH_KEY'), true);
     }
     import('ORG.Util.RBAC');
     RBAC::saveAccessList();
     //P($_SESSION);
     //die();
     $this->redirect('Admin/Index/index');
 }
开发者ID:Hxuhao233,项目名称:wish,代码行数:35,代码来源:LoginAction.class.php

示例14: metodillo

 function metodillo()
 {
     $sSQL = "SELECT * FROM PM_PARAMETERS WHERE PRM_ID = 'CAS_URL' ";
     $aResSQL = executeQuery($sSQL);
     if (count($aResSQL)) {
         $sURL = $aResSQL[1]['PRM_VALUE'];
         $sURI = $aResSQL[1]['PRM_VALUE_2'];
         $res = false;
         $RBAC = RBAC::getSingleton();
         $RBAC->initRBAC();
         require_once 'CAS-1.2.2/CAS.php';
         phpCAS::client(CAS_VERSION_2_0, $sURL, 443, $sURI, false);
         phpCAS::setNoCasServerValidation();
         phpCAS::forceAuthentication();
         if (phpCAS::isAuthenticated() == true) {
             $sCasUser = phpCAS::getUser();
             $sSQL = "SELECT USR_UID FROM USERS WHERE USR_USERNAME = '{$sCasUser}' ";
             $aResSQL = executeQuery($sSQL);
             if (count($aResSQL)) {
                 $nUserId = $aResSQL[1]['USR_UID'];
                 $RBAC->singleSignOn = true;
                 $RBAC->userObj->fields['USR_UID'] = $nUserId;
                 $RBAC->userObj->fields['USR_USERNAME'] = $sCasUser;
                 $res = true;
             } else {
                 $res = false;
             }
         } else {
             $res = false;
         }
     } else {
         $res = false;
     }
     return $res;
 }
开发者ID:juantroche,项目名称:pmos-cas,代码行数:35,代码来源:class.cas2.php

示例15: login

 public function login()
 {
     $systemConfig = (include WEB_ROOT . 'Common/systemConfig.php');
     if (IS_POST) {
         $pubmod = new PublicModel();
         $returnLoginInfo = $pubmod->auth();
         if ($returnLoginInfo['status'] == 1) {
             $map = array();
             // 支持使用绑定帐号登录
             $map['a_name'] = $this->_post('name');
             import('ORG.Util.RBAC');
             $authInfo = RBAC::authenticate($map);
             $_SESSION[C('USER_AUTH_KEY')] = $authInfo['a_id'];
             #var_dump($_SESSION[C('USER_AUTH_KEY')]);exit;
             $_SESSION['a_name'] = $authInfo['a_name'];
             if ($authInfo['a_name'] == C('ADMIN_AUTH_KEY')) {
                 //是否是管理员登录
                 $_SESSION[C('ADMIN_AUTH_KEY')] = true;
             }
             // 缓存访问权限
             RBAC::saveAccessList();
             $_SESSION['username'] = $authInfo['a_name'];
             //记录管理员log
             $data = array("a_id" => $authInfo['a_id'], "l_content" => "管理员[" . $authInfo['a_name'] . "]于[" . date("Y-m-d H:i:s") . "]登录了[唐亮工长俱乐部]后台管理系统!");
             M("Log")->add($data);
             $this->success("登录成功", U("Index/index"));
             exit;
         } else {
             $this->error($returnLoginInfo['info']);
             exit;
         }
     }
     $this->assign("systemConfig", $systemConfig);
     $this->display();
 }
开发者ID:snowtl,项目名称:tanglang,代码行数:35,代码来源:IndexAction.class.php


注:本文中的RBAC类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。