wecenter學(xué)習(xí)筆記-Controller訪問(wèn)控制實(shí)現(xiàn)原理

該文是wecenter學(xué)習(xí)筆記的一部分

Controller訪問(wèn)控制實(shí)現(xiàn)原理

通過(guò)在Controller的get_access_rule來(lái)返回訪問(wèn)控制權(quán)限

public function get_access_rule()
{
    $rule_action['rule_type'] = 'white';

    $rule_action['actions'][] = 'index';
    $rule_action['actions'][] = 'save_comment';

    return $rule_action;
}

應(yīng)用啟動(dòng)時(shí)會(huì)檢查action是否在白名單或者黑名單中,從而引導(dǎo)未登陸的用戶(hù)進(jìn)行登陸

// 判斷訪問(wèn)規(guī)則使用白名單還是黑名單, 默認(rèn)使用黑名單
if ($access_rule)
{
    // 黑名單, 黑名單中的檢查 'white' 白名單,白名單以外的檢查 (默認(rèn)是黑名單檢查)
    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();
}

訪問(wèn)白名單中action的不需要登陸,而黑名單中的action需要登陸用戶(hù)才能調(diào)用。


action路由 ←o→ Model讀寫(xiě)分離

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容