+ -
当前位置:首页 → 问答吧 → 在RBAC不能跳转到默认网关

在RBAC不能跳转到默认网关

时间:2011-06-09

来源:互联网

设置了默认网关..


'USER_AUTH_GATEWAY'    =>'/Public/login',    // 默认认证网关
'NOT_AUTH_MODULE'        =>'Public',        // 默认无需认证模块





有设置了 indexAction 类继承 CommonAction 类, 不能正常跳转到默认网关..  有没有什么要注意的????


配置文件如下:
$arr = array(
    //'配置项'=>'配置值'




'USER_AUTH_ON'=>true,
'USER_AUTH_TYPE'            =>1,        // 默认认证类型 1 登录认证 2 实时认证
'USER_AUTH_KEY'            =>'authId',    // 用户认证SESSION标记
'ADMIN_AUTH_KEY'            =>'administrator',
'USER_AUTH_MODEL'        =>'User',    // 默认验证数据表模型
'AUTH_PWD_ENCODER'        =>'md5',    // 用户认证密码加密方式
'USER_AUTH_GATEWAY'    =>'/Public/login',    // 默认认证网关
'NOT_AUTH_MODULE'        =>'Public',        // 默认无需认证模块
'REQUIRE_AUTH_MODULE'=>'',        // 默认需要认证模块
'NOT_AUTH_ACTION'        =>'',        // 默认无需认证操作
'REQUIRE_AUTH_ACTION'=>'',        // 默认需要认证操作
'GUEST_AUTH_ON'          => false,    // 是否开启游客授权访问
'GUEST_AUTH_ID'           =>    0,     // 游客的用户ID
'RBAC_ROLE_TABLE'=>'think_role',
'RBAC_USER_TABLE'    =>    'think_role_user',
'RBAC_ACCESS_TABLE' =>    'think_access',
'RBAC_NODE_TABLE'    => 'think_node',


);


$arr1 =include './config.inc.php';
return array_merge($arr1,$arr);





还有一个CommonAction 的一个方法


function _initialize() {
        // 用户权限检查
        if (C ( 'USER_AUTH_ON' ) && !in_array(MODULE_NAME,explode(',',C('NOT_AUTH_MODULE')))) {
            import ( 'ORG.Util.RBAC' );
            if (! RBAC::AccessDecision ()) {
                //检查认证识别号
                if (! $_SESSION [C ( 'USER_AUTH_KEY' )]) {
                    //跳转到认证网关
                    redirect ( PHP_FILE . C ( 'USER_AUTH_GATEWAY' ) );
                }
                // 没有权限 抛出错误
                if (C ( 'RBAC_ERROR_PAGE' )) {
                    // 定义权限错误页面
                    redirect ( C ( 'RBAC_ERROR_PAGE' ) );
                } else {
                    if (C ( 'GUEST_AUTH_ON' )) {
                        $this->assign ( 'jumpUrl', PHP_FILE . C ( 'USER_AUTH_GATEWAY' ) );
                    }
                    // 提示错误信息
                    $this->error ( L ( '_VALID_ACCESS_' ) );
                }
            }
        }
    }







不清楚为什么不能正常跳转到默认网关.


作者: guatoujiangy   发布时间: 2011-06-09

莫名奇妙就 搞定了... 可能是设置错误了一些东西...     改了一下配置文件 就好了.... 5555555555555555555555

作者: guatoujiangy   发布时间: 2011-06-09