PHPACL角色权限控制_自学php网
来源:自学PHP网
时间:2014-12-04 22:12 作者:
阅读:次
[导读] PHP ACL角色权限类,能实现无限角色权限的访问控制 网上关于RBAC方面资料比较少! 原理很简单,就是在执行control前检查controller和action在acl表中的权限, 判断当前的访问者可以或不可以...
PHP ACL角色权限类,能实现无限角色权限的访问控制
网上关于RBAC方面资料比较少!
原理很简单,就是在执行control 前检查controller和action在acl表中的权限,
判断当前的访问者“可以”或“不可以”访问某个action的机制
满足条件就继续执行,否则跳转的制定页面
代码如下
-
<?php
-
class Acl{
-
/**
-
* 默认权限检查的处理程序设置,可以是函数名或是数组(array(类名,方法)的形式)
-
*/
-
public $checker = array('spAclModel','check');
-
-
/**
-
* 默认提示无权限提示,可以是函数名或是数组(array(类名,方法)的形式)
-
*/
-
public $prompt = array('spAcl','def_prompt');
-
/**
-
* 构造函数,设置权限检查程序与提示程序
-
*/
-
public function __construct(){
-
$params = spExt("spAcl");
-
if( !empty($params["prompt"]) )$this->prompt = $params["prompt"];
-
if( !empty($params["checker"]) )$this->checker = $params["checker"];
-
}
-
-
/**
-
* 获取当前会话的用户标识
-
*/
-
public function get(){
-
return $_SESSION["SpAclSession"];
-
}
-
-
/**
-
* 强制控制的检查程序,适用于后台。无权限控制的页面均不能进入
-
*/
-
public function maxcheck ()
| |