Yii2针对游客、用户防范规则和限制的解决方法分析


Posted in PHP onOctober 08, 2016

本文实例分析了Yii2针对游客、用户防范规则和限制的解决方法。分享给大家供大家参考,具体如下:

最近在用Yii2.0做项目,其中需要实现一个功能:没有登录不能访问部分页面,即游客身份访问限制。查了半天资料,终于找到答案。解决方法如下:

在access里,access即访问的意思,其中有个配置项:

'only'=>['login','about']

这是什么意思呢,意思是仅仅在login、about两个action内起作用,即当action 是login、about时,会进入rules里做下一步验证。

但是 我们想除了登录、注册以外其他action均不允许访问怎么办呢?还有其他的配置,我们把only 改成 except,什么意思呢,是除去什么什么之外的意思,就是说对除了 login、signup以外的action起作用。接下来,在:

rules=>[['action'=>['login','signup'],'allow'=>true,'roles'=>['?']]]

里,rules就是规则,这里边可以写多条,actions是指规则针对哪个action,allow指是否允许访问,'roles'这个字段是关键的,这是允许访问的角色。其中?代表游客,@代表已登录的用户

public function behaviors()
{
 return [
  'access' => [
   'class' => AccessControl::className(),
   'except' =>['login','signup'],
   'rules' => [
    [
     'actions' => ['login','signup'],
     'allow' => true,
     'roles' => ['?'],
    ],
   ],
  ],
  'verbs' => [
   'class' => VerbFilter::className(),
   'actions' => [
    'logout' => ['post'],
   ],
  ],
 ];
}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 PHP
php实现根据身份证获取精准年龄
Feb 26 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 #PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 #PHP
PHP反射API示例分享
Oct 08 #PHP
验证坐标在某坐标区域内php代码
Oct 08 #PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 #PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 #PHP
php文件类型MIME对照表(比较全)
Oct 07 #PHP
You might like
smtp邮件发送一例
2006/10/09 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
快速入门Vue
2016/12/19 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
python3实现基于用户的协同过滤
2018/05/31 Python
Atom的python插件和常用插件说明
2018/07/08 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Python3实现定时任务的四种方式
2019/06/03 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
防暑降温通知书
2015/04/27 职场文书
超级礼物观后感
2015/06/15 职场文书
人民的好儿女观后感
2015/06/18 职场文书
小学班主任教育随笔
2015/08/15 职场文书
什么是Python装饰器?如何定义和使用?
2022/04/11 Python