美文网首页
wecenter学习笔记-Controller访问控制实现原理

wecenter学习笔记-Controller访问控制实现原理

作者: imhaiyang | 来源:发表于2016-07-11 18:42 被阅读249次

    该文是wecenter学习笔记的一部分

    Controller访问控制实现原理

    通过在Controller的get_access_rule来返回访问控制权限

    public function get_access_rule()
    {
        $rule_action['rule_type'] = 'white';
    
        $rule_action['actions'][] = 'index';
        $rule_action['actions'][] = 'save_comment';
    
        return $rule_action;
    }
    

    应用启动时会检查action是否在白名单或者黑名单中,从而引导未登陆的用户进行登陆

    // 判断访问规则使用白名单还是黑名单, 默认使用黑名单
    if ($access_rule)
    {
        // 黑名单, 黑名单中的检查 'white' 白名单,白名单以外的检查 (默认是黑名单检查)
        if (isset($access_rule['rule_type']) AND $access_rule['rule_type'] == 'white')
        {
            if ((! $access_rule['actions']) OR (! in_array(load_class('core_uri')->action, $access_rule['actions'])))
            {
                self::login();
            }
        }
        else if (isset($access_rule['actions']) AND in_array(load_class('core_uri')->action, $access_rule['actions']))  // 非白就是黑名单
        {
            self::login();
        }
    
    }
    else
    {
        self::login();
    }
    

    访问白名单中action的不需要登陆,而黑名单中的action需要登陆用户才能调用。


    action路由 ←o→ Model读写分离

    相关文章

      网友评论

          本文标题:wecenter学习笔记-Controller访问控制实现原理

          本文链接:https://www.haomeiwen.com/subject/lhsjjttx.html