当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii框架ACF(accessController)简单权限控制操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-20 11:22:14 浏览: 评论:0 

这篇文章主要介绍了Yii框架ACF(accessController)简单权限控制操作,结合实例形式分析了Yii框架简单权限控制操作参数设置与使用技巧,需要的朋友可以参考下。

本文实例讲述了Yii框架ACF(accessController)简单权限控制操作,分享给大家供大家参考,具体如下:

  1. use yii\filters\AccessControl; 
  2. class SiteController extends Controller 
  3.   public function behaviors() 
  4.   { 
  5.     return [ 
  6.       'access' =>[ 
  7.         'class' => AccessControl::className(), 
  8.         'rules' => [ 
  9.           [ 
  10.             'allow' => true, 
  11.             'actions' => ['index''view'], 
  12.             'roles' => ['?'], 
  13.           ], 
  14.           [ 
  15.             'allow' => true, 
  16.             'actions' => ['view','index','create','update'], 
  17.             'roles' => ['@'], 
  18.           ], 
  19.             [ 
  20.               'actions' => ['special-callback'], 
  21.               //'only' => ['special-callback'], 
  22.               'allow' => true, 
  23.               'matchCallback'=>function($rule,$action){ 
  24.                 return date('Y-m-d') === '2017-02-14';//只有2017年2月14号才可以访问 
  25.               }, 
  26.               'denyCallback'=>function($rule,$action){ //禁止访问的规则 
  27.               }, 
  28.               'ips'=>[],//允许的ip 
  29.               'verbs'=>['GET','POST','DELETE'],//请求的方式 
  30.             ], 
  31.         ], 
  32.       ], 
  33.     ]; 
  34.   } 
  35.   // ... 

访问规则通过如下的上下文参数设置:

actions: 设置哪个动作匹配此规则。

roles: 设定哪个角色匹配此规则。

*: 任何用户,包括匿名和验证通过的用户。

?: 匿名用户。

@: 验证通过的用户。

ips: 设定哪个客户端IP匹配此规则。

verbs: 设定哪种请求类型(例如:GET, POST)匹配此规则。

matchCallback:指定一个PHP回调,以确定应用该规则。

denyCallback:PHP回调,当规则禁止访问的时候会被调用。

  1. public function actionSpecialCallback() 
  2.   return $this->render('happy-halloween'); 

以上代码可以用来控制博客系统的访客和登录用户的相关权限

Tags: Yii框架 ACF accessController

分享到: