Yii 动作过滤的方法

 1     protected function _init()
 2     {
 3          4     }
 5
 6     public function beforeAction($action)
 7     {
 8         //黑名单
 9         $blackList = array(‘test‘,‘login‘,‘registe‘,‘logout‘);
10         $action = $this->getAction()->getId();
11         if(!in_array($action, $blackList)){
12             parent::init();
13         }
14         return TRUE;
15     }
    protected $userId = 0;

    public function init()
    {
        header(‘Content-type:text/html;charset=utf-8‘);
        Yii::import(‘ext.functions‘, true); //加载公共函数
        $this->getUserId();
    }

    //获取用户
    protected function getUserId()
    {
        $userTicket = getRParam(‘ticket‘, ‘‘);
        Yii::app()->ssoClient->init($userTicket);
        $this->userId = (int)Yii::app()->ssoClient->userid;
    }

    public function filters()
    {
        return array(‘CheckLogin - login, registe, logout‘);
    }

    public function filterCheckLogin($chain)
    {
        if($this->userId > 0)
            $chain->run();
        else
            $this->ajaxError(100, ‘用户验证失败或已过期‘);
    }
    
时间: 2024-10-12 09:09:56

Yii 动作过滤的方法的相关文章

垃圾邮件过滤优化方法

垃圾邮件过滤优化方法 通过honeypot project 搜集大量垃圾邮件数据 通过解析邮件header 获取垃圾邮件发送路径和服务器相关信息 对编写错误的单词的修正 比如:w4tch 对相同含义的词进行归类处理,比如:discount 和discounts   (可以通过porter stemmer,下面就是该算法c语言的一种实现) /* This is the Porter stemming algorithm, coded up in ANSI C by the author. It m

C#制表符过滤处理方法

C#制表符过滤处理方法,动态替换字符串里面的制表符. /// <summary> /// Descrioption: ///需要替换字符集合,可参见MSDN /// The Trim method only trims 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x0085, 0x2028, and 0x2029. /// This array adds in control characters. /// Author : 付义方 /// Create

java 反射提取类信息, 动态代理 和过滤某些方法演示

package org.rui.classts.reflects; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.regex.Pattern; /** * 提取 类的 方法 构造器 * @author lenovo * */ //{args:ShowMethods} //查看一个类的所有方法和构造器 public class ShowMethods { private

kindeditor编辑器代码过滤解决方法.

很多朋友在使用Kindeditor编辑器的时候都会遇到这样一个问题,如:给A标签加上title属性过后,浏览的时候,却神奇般地发现title属性没有了.再次切换html源代码的时候,返现编辑器将title属性给删掉了.追究其根本原因主要是kindeditor设置了标签和属性的默认过滤机制.KindEditor默认状态下会过滤编辑器里的html代码,主要是为了生成干净的代码,就会出现我们想不到的结果,现在焦国强为大家讲解:如何避免自己手动添加的代码被不必要的过滤. 首先我们知道3.4版本以上版本默

sphinx设置多属性过滤的方法(setFilter)

需求描述 mysql中,每一个文档都有多个标签,查询时可以筛选一个标签也可以筛选同时拥有多个标签的文档. 数据示例 文档 标签   1    1,2,3,4,5   2    2,3,4,5,6   3    3,4,5,6,7   4    4,5,6,7,8   5    5,6,7,8,9 注意: 这里将文档id和标签tagid的对应关系存入了fy_content_tag表,一个id对应多条tagid记录 查询要求 1.查出拥有标签2的文档 2.查出同时拥有标签2,3,4的文档 使用sph

PatentTips - 在物联网中进行数据过滤的方法和装置

背景技术 [0001] 本发明涉及物联网,特别涉及在物联网进行数据过滤的方法和装置. [0002] 物联网是新一代信息技术的重要组成部分,特指物物相连的网络.具体地,物联网是指通过各种信息传感设备,如传感器.射频识别(RFID)技术.全球定位系统.红外感应器.激光扫描器.气体感应器等各种装置与技术,实时采集任何需要监控.连接.互动的物体或过程,采集其声.光.热.电.力学.化学.生物.位置等各种需要的信息,与互联网结合形成的一个巨大网络.物联网目的是实现物与物.物与人.所有的物品与网络的连接,以方

JavaScript中的window.close在FireFox和Chrome上不能正常动作的解决方法

原文:JavaScript中的window.close在FireFox和Chrome上不能正常动作的解决方法 JS中关闭窗口的方法window.close()在IE上能够正常动作,而在FireFox和Chrome上无法动作. (当时,在Chrome35.0上的时候还是可以的,Chrome36.0上就无法动作了JS中关闭窗口的方法window.close()在IE上能够正常动作,而在FireFox和Chrome上无法动作. (当时,在Chrome35.0上的时候还是可以的,Chrome36.0上就

R实现大文本文件数据过滤的方法

使用R语言过滤文件数据是很普遍的操作,但有时我们会遇到比较大的文件,这类文件无法全部读入内存处理,需要采用分批读取.分批过滤.拼合结果的办法来解决.下面用一个例子来说明R实现大文件数据过滤的方法. 有个1G的文件sales.txt,存储着大量订单记录,请过滤出AMOUNT字段值在2000和3000之间的记录.该文件的列分割符为"\t",前几行数据如下:     R语言解决方案: con <- file("E:\\sales.txt", "r"

php经常用到的数据过滤的方法

<?php /** * global.func.php 公共函数库 */ /** * 返回经addslashes处理过的字符串或数组 * @param $string 需要处理的字符串或数组 * @return mixed */ function new_addslashes($string){ if(!is_array($string)) return addslashes($string); foreach($string as $key => $val) $string[$key] =