ThinkPHP:简单的权限认证类gMAR[新增完整例子-订单管理后台]

gMAR是Group, Module, Action and Request_method的意思,gMAR是基于它们的组合规则进行对比验证。

特点:简单、支持规则、支持REQUEST_METHOD验证,兼容TP1.5、TP2.0,自动识别GROUP
缺点:灵活性还不够,只适合用些小系统

工作原理:
通过(GROUP_NAME)、MODULE_NAME、ACTION_NAME和$_SERVER['REQUEST_METHOD']的简单结合和预定义权限规则进行比较。

结合格式:

view plaincopy to clipboardprint?
(GROUP_NAME@)MODULE_NAME/ACTION_NAME_SERVER['REQUEST_METHOD']。 
(GROUP_NAME@)MODULE_NAME/ACTION_NAME_SERVER['REQUEST_METHOD']。

兼容格式:

view plaincopy to clipboardprint?
'*'          => '*/*:*'         //所有权限   
':GET'       => '*/*:GET'       //所有模块所有方法的GET请求   
'*:GET'                         //同上   
'*/:GET'                        //同上   
'*/action'   => '*/action:*'    //所有模块中action方法全部请求(GET & POST)   
'/action'                       //同上   
'action:GET' => '*/action:GET'  //所有模块中action方法的GET请求   
'Index/'     => 'Index/*:*'     //Index模块中所有方法的全部请求方式  
'Index/:*'                      //同上  
'Index/*:*'                     //同上  
'Index/:GET'  => 'Index/*:GET'  //Index模块中所有方法的GET请求  
'Index/action'=> 'Index/action:*'//Index模块中action方法的全部请求方式  
'Index/action:GET'               //Index模块中action方法中GET请求方式 
'*'          => '*/*:*'         //所有权限
':GET'       => '*/*:GET'       //所有模块所有方法的GET请求
'*:GET'                         //同上
'*/:GET'                        //同上
'*/action'   => '*/action:*'    //所有模块中action方法全部请求(GET & POST)
'/action'                       //同上
'action:GET' => '*/action:GET'  //所有模块中action方法的GET请求
'Index/'     => 'Index/*:*'     //Index模块中所有方法的全部请求方式
'Index/:*'                      //同上
'Index/*:*'                     //同上
'Index/:GET'  => 'Index/*:GET'  //Index模块中所有方法的GET请求
'Index/action'=> 'Index/action:*'//Index模块中action方法的全部请求方式
'Index/action:GET'               //Index模块中action方法中GET请求方式

使用方法:

view plaincopy to clipboardprint?
import('@.ORG.gMAR');  
gMAR::AccessCheck(); 
import('@.ORG.gMAR');
gMAR::AccessCheck();

Example:

view plaincopy to clipboardprint?
function _initialize() {  
    // 用户权限检查  
    if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {  
        //检测是否登录  
        if (!Session::get(C('USER_AUTH_KEY'))) U('Public/login', null, true);  
        //gMAR权限验证  
        import ( '@.ORG.gMAR' );  
        if(!gMAR::AccessCheck()){  
            $this->error('权限不足,请与管理员联系');  
        }  
    }  

function _initialize() {
    // 用户权限检查
    if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
        //检测是否登录
        if (!Session::get(C('USER_AUTH_KEY'))) U('Public/login', null, true);
        //gMAR权限验证
        import ( '@.ORG.gMAR' );
        if(!gMAR::AccessCheck()){
            $this->error('权限不足,请与管理员联系');
        }
    }
}

http://files.cnblogs.com/cevin/gMAR.rar
http://files.cnblogs.com/cevin/ordersystem.zip

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yafeikf/archive/2009/12/07/4958100.aspx

(一) 系统管理:菜单权限、前台菜单、角色管理、职员管理、登录日志、操作日志、图片空间、商城消息、风格设置、计划任务 (二) 基础设置:商城配置、导航管理、广告管理、广告位置、银行管理、支付管理、地区管理、友情链接、快递管理、消息模板 (三) 会员管理:会员等级、会员管理、账号管理 (四) 文章管理:文章管理、文章分 (五) 运营管理:推荐管理、商品推荐、店铺推荐、品牌推荐、财务管理、资金管理、提现管理 (六) 订单管理订单管理订单管理、投诉管理、退款管理 (七) 广告管理:广告位置、广告管理 (八) 商品管理:商品管理、已上架商品、待审核商品、违规商品、商品分、商品属性、品牌管理、商品规格、评价管理 (九) 虚拟物品自动发货:虚拟商品上架、卡密管理、自动发货 (十) 扩展管理:插件管理、钩子管理 (十一) 分销管理:分销管理菜单、分销商品列表、佣金分成列表、推广用户列表 (十二) 数据分析:商品销售排行、店铺销售统计、销售额统计、销售订单统计、新增会员统计、会员登录统计 (十三) 营销管理:满减、满送、满包邮,优惠券功能,三级分销,商品团购,限时拍卖 (十四) 微信管理:公众号设置、自定义菜单、用户管理、主动回复文本信息、主动回复图文信息、微信消息模板 (十五) 支付管理:支付宝支付,微信支付、货到付款、积分支付、余额支付 (十六) 短信接口:阿里大于 (十七) 物流接口:快递100接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值