ci 权限限制
来源:互联网 发布:纽约大学 知乎 编辑:程序博客网 时间:2024/05/01 06:17
//config配置文件中开启hooks
$config['enable_hooks'] = TRUE;
//在你的控制器实例化之后,任何方法调用之前调用.
//hook.php配置文件
$hook['post_controller_constructor'] = array(
'class' => 'Acl',
'function' => 'auth',
'filename' => 'acl.php',
'filepath' => 'hooks'
);
//config.php
$config['AUTH'] = array(
SUPER_ADMIN => array(
'admin' => array('index', 'logout'),
),
ADMIN => array(
'admin' => array('index', 'logout'),
),
GUEST => array(
'admin' => array('index', 'logout'),
),
);
//---hooks/acl.php
class Acl {
private $url_model;
private $url_method;
private $CI;
function Acl()
{
$this->CI =& get_instance();
$this->CI->load->library('session');
$this->url_model = $this->CI->uri->segment(1);
$this->url_method = $this->CI->uri->segment(2);
}
function auth()
{
$user = $this->CI->session->userdata('USER');
if(empty($user))
$user->status = 0;
$this->CI->load->config('acl');
$AUTH = $this->CI->config->item('AUTH');
if(in_array($user->status, array_keys($AUTH))){
$controllers = $AUTH[$user->status];
if(in_array($this->url_model, array_keys($controllers))){
if(!in_array($this->url_method, $controllers[$this->url_model])){
show_error('您无权访问该功能,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}else{
show_error('您无权访问该模块,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}
else
show_error('错误的用户类型,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}
$config['enable_hooks'] = TRUE;
//在你的控制器实例化之后,任何方法调用之前调用.
//hook.php配置文件
$hook['post_controller_constructor'] = array(
'class' => 'Acl',
'function' => 'auth',
'filename' => 'acl.php',
'filepath' => 'hooks'
);
//config.php
$config['AUTH'] = array(
SUPER_ADMIN => array(
'admin' => array('index', 'logout'),
),
ADMIN => array(
'admin' => array('index', 'logout'),
),
GUEST => array(
'admin' => array('index', 'logout'),
),
);
//---hooks/acl.php
class Acl {
private $url_model;
private $url_method;
private $CI;
function Acl()
{
$this->CI =& get_instance();
$this->CI->load->library('session');
$this->url_model = $this->CI->uri->segment(1);
$this->url_method = $this->CI->uri->segment(2);
}
function auth()
{
$user = $this->CI->session->userdata('USER');
if(empty($user))
$user->status = 0;
$this->CI->load->config('acl');
$AUTH = $this->CI->config->item('AUTH');
if(in_array($user->status, array_keys($AUTH))){
$controllers = $AUTH[$user->status];
if(in_array($this->url_model, array_keys($controllers))){
if(!in_array($this->url_method, $controllers[$this->url_model])){
show_error('您无权访问该功能,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}else{
show_error('您无权访问该模块,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}
else
show_error('错误的用户类型,该错误已经被记录!点击<a href="'. site_url('admin/logout') .'">返回</a>');
}
}
0 0
- ci 权限限制
- CI登陆限制的session
- CI项目设计权限检查
- 超脱C++权限限制
- 系统权限的限制
- 限制su权限
- pdf解除权限限制
- 网页如何限制权限
- sessionScope前端权限限制
- 文件权限限制解读
- 利用CI钩子实现权限认证 session
- MyEclipse 2017 CI Tomcat 权限问题
- Linux 权限管理之目录权限限制
- ASP限制客户访问权限
- oracle创建包权限限制
- nginx限制ip访问权限
- ssh 的权限 端口 限制
- 通过VFS限制root权限
- 学习Android之第七个小程序头像选择(自定义对话框、Gallery、ImageSwitcher)
- SQL Column Truncation Vulnerabilities
- OS X Mavericks Xcode 5 上找回GDB
- 纯C实现unicode-utf8互转
- 如何通过地址栏传递参数及获得参数
- ci 权限限制
- IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
- C#实现(递归和非递归)快速排序和简单排序等一系列排序算法
- 发一段UNICODE UTF-8互转代码简洁版
- Java4Android(第40集) Java当中的数组
- JavaSE I/O 之 File类的详解
- 取模运算
- Servlet过滤器创建与配置
- 二叉查找树