首页 > 技术文章 > yii框架后台过滤器的使用 安全防护

hao1 2016-12-01 17:36 原文

Yii过滤器简介

过滤器是一段代码,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用的时间。

一个动作可以有多个过滤器。过滤器执行顺序为它们出现在过滤器列表中的顺序。过滤器可以阻止动作及后面其他过滤器的执行。

过滤器有两种写法:

  • 基于方法的过滤器
  • 基于自定义过滤器类的过滤器

无论哪种过滤器,都必须在控制器中重写控制器的public function filters()方法,设置哪个过滤器对哪个动作起作用。

  代码实现如下,访问后台子模块检测是否登陆,

   方法实现如下

      我们在BaseConsoleController继承文件里写入    ,这样就会访问控制器都会走这个过滤器了  

      

public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => [],
'allow' =>true,
'roles' => ['@'],
],
[
'actions' => ['login/index'],
'allow' =>true,
'roles' => ['?','@'],
],
],
],
];

}

推荐阅读