zoukankan      html  css  js  c++  java
  • Yii 自定义 登录 过滤器

    <?php
    /**
     * IsLoginFilter class file
     *
     * 应用于需要判断登录的actions,若没有登录就直接跳转到登录action
     * 
     * @author hail
     * @package application.filters
     */
    class IsLoginFilter extends CFilter
    {
        /**
         * 登录action所在controller的名字
         * @var string
         */
        public $login_controller;
        /**
         * 登录action的名字
         * @var string
         */
        public $login_action;
    
        public function filter($filterChain)
        {
            if($this->preFilter($filterChain)){
                if((Yii::app()->controller->id)===$this->login_controller)
                    CController::redirect($this->login_action);
                else
                    CController::redirect($this->login_controller.'/'.$this->login_action);
            }else{
                $filterChain->run();
            }
        }
    
        protected function preFilter($filterChain)
        {
            return Yii::app()->user->isGuest;
        }
    }

    控制器中使用:

    <?php
    
    class SiteController extends Controller
    {
        public function filters()
        {
            return array(
                array(
                    'application.filters.IsLoginFilter + setting',
                    'login_controller'=>'site',
                    'login_action'=>'login',
                ),
            );
        }
    }
  • 相关阅读:
    内存队列使用Channels
    笔记20210101mongodb
    管道式的开发模式
    企业级应用架构设计
    再入历史旧坑
    路径问题 再次记录
    mongdb驱动的问题
    使用Bumblebee记录
    我和小兔子不得不说的消息v2
    流程设计器jQuery + svg/vml(Demo7
  • 原文地址:https://www.cnblogs.com/hailspace/p/2971615.html
Copyright © 2011-2022 走看看