CanPHP开发手册--权限认证类

说明:
  • 类文件:CanPHP/lib/Auth.class.php
  • 默认会自动加载,不需要手动include
方法:check($model,$config=array())
说明:自动检查是否登录,是否有权限操作,一般放置在公共模块的构造函数里面
参数:
  • $model,cp框架实例化后的数据库模型对象
  • $config,权限认证配置
//权限认证配置
$config['AUTH_LOGIN_URL']='http://www.canphp.com/admin/index.php/index/login.html';//登录地址
$config['AUTH_LOGIN_NO']=array('index'=> array('login','verify'),'common'=>'*');//不需要认证的模块和操作
$config['AUTH_SESSION_PREFIX']='auth_';//认证session前缀
$config['AUTH_POWER_CACHE']=false;//是否缓存权限信息,如果设置为false,每次都需要从数据库读取数据
$config['AUTH_TABLE']=array(
							'group'=>array(
									'name'=>'group',
									'field'=>array('id'=>'id','power'=>'power_value'),
								 ),
							'resource'=>array(
									'name'=>'resource',
									'field'=>array('id'=>'id','pid'=>'pid','operate'=>'operate'),
								 ),	
						);//数据库表和字段映射	
//权限认证配置结束
方法:set($groupid)
说明:设置认证用户组id,用于用户登录成功的时候,设置
参数:
  • $groupid,当前用户的用户组id
方法:clear()
说明:清除认证,用于用户退出的时候,调用
参数:
  • 参数为空,不需要传递参数
方法:getModule($model,$config=array(),$module_path='',$module_suffix='')
说明:自动获取模块信息,调试时使用
参数:
  • $model,cp框架实例化后的数据库模型对象
  • $config,权限认证配置
  • $module_path,模块存放路径,参数为空则默认为'./module/'
  • $module_suffix,模块后缀,参数为空则默认为'Mod.class.php'
方法:checkPower($module,$action=NULL)
说明:检查模块和操作的权限,常用在模板中,根据权限,显示不同的菜单
参数:
  • $module,模块名称
  • $action,操作名称
  • 有权限返回true,没有权限返回false
使用方法:
	//检查是否有文章模块的权限
	if(Auth::checkPower('article'))
	{
		
	}
	或
	//检查是否有文章模块的删除操作权限
	if(Auth::checkPower('article','del'))
	{
		
	}