首页 > 编程 > PHP > 正文

ThinkPHP后台设置,ThinkPHP权限配置及后台功能

2020-03-22 19:14:30
字体:
来源:转载
供稿:网友
  • 今天在做那个ThinkPHP后台登录验证的时候遇到这个问题,在多个后台项目和前台项目共同在根目录下如何来判断是否有权限。

    看如果代码,作者是将后台和前台放到不同的目录下的,后台所有操作在一个项目下,前台也是在一个目录下,作者用的是调用公共方法,代码如下:

     

    html' target='_blank'>class GlobalAction extends Action{	private $groupId;	private $userId;	private $userName;	function _initialize()	{		//初始化时获取用户ID和用户组ID		$this->groupId=intval(Session::get('groupid'));		$this->userId=intval(Session::get(C('USER_AUTH_KEY')));		$this->userName=Session::get('username');		//dump($this->groupId);		/*www.it165.net		限制允许进入后台的用户组,默认禁用此功能		$allowAdmin=array(1,2);		if(!isset($_SESSION[C('USER_AUTH_KEY')]) || !in_array($this->groupId,$allowAdmin,true) )		*/		if($this->userId==false ||$this->groupId==false )		{			$this->redirect('login','Public');		}	}	/*		获取用户ID	*/	Protected function getUid(){		//$uid=intval($_SESSION[C('USER_AUTH_KEY')]);		return $this->userId;	}	/*		获取用户组ID	*/	Protected function getGid(){		//$gid=intval($_SESSION['groupid']);		return $this->groupId;	}	/*		获取用户名	*/	Protected function getName(){		//$gid=intval($_SESSION['groupid']);		return $this->userName;	}}

    然后根据class IndexAction extends GlobalAction{}这个来判断的

    在看另外一个,根据RBAC来做的:

     

    <?phpif (!defined('THINK_PATH')) exit();$config	= require '../config.php';$array = array(        'SESSION_AUTO_START'		=>	true,        'USER_AUTH_ON'              =>	true,        'USER_AUTH_TYPE'			=>	1,		// 默认认证类型 1 登录认证 2 实时认证        'USER_AUTH_KEY'             =>	'authId',	// 用户认证SESSION标记        'ADMIN_AUTH_KEY'			=>	'admin',        'USER_AUTH_MODEL'           =>	'User',	// 默认验证数据表模型        'AUTH_PWD_ENCODER'          =>	'md5',	// 用户认证密码加密方式        'USER_AUTH_GATEWAY'         =>	'/Pub/login',// 默认认证网关        'NOT_AUTH_MODULE'           =>	'Pub',	// 默认无需认证模块        'REQUIRE_AUTH_MODULE'       =>	'',		// 默认需要认证模块        'NOT_AUTH_ACTION'           =>	'',		// 默认无需认证操作        'REQUIRE_AUTH_ACTION'       =>	'',		// 默认需要认证操作        'GUEST_AUTH_ON'             =>	false,    // 是否开启游客授权访问        'GUEST_AUTH_ID'             =>	0,        // 游客的用户ID//        'DB_LIKE_FIELDS'            =>	'title|remark',        'RBAC_ROLE_TABLE'           =>	'dlb_role',        'RBAC_USER_TABLE'           =>	'dlb_role_user',        'RBAC_ACCESS_TABLE'         =>	'dlb_access',        'RBAC_NODE_TABLE'           =>	'dlb_node',        'SHOW_PAGE_TRACE'			=>	0,			//显示调试信息//        'DB_CASE_LOWER'			=>	true,			//查询数组键值转换为小写 		//自定义配置,是否系统管理员,默认不是		'IS_SYS_ADMIN'				=> 'is_admin',		'ADMIN_USER_TYPE'			=> 'user_type',        );return array_merge($config,$array);

    前面一种好理解,后面一种就不是很清楚。

    PHP编程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表