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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
PHP写日志的实现方法
Nov 05 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 PHP
laravel框架中间件简单使用方法示例
Jan 25 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
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
Node.js静态文件服务器改进版
2016/01/10 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
Python中使用ElementTree解析XML示例
2015/06/02 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
老生常谈Python基础之字符编码
2017/06/14 Python
Tornado 多进程实现分析详解
2018/01/12 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
试用期自我鉴定范文
2014/03/20 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
python实现双向链表原理
2022/05/25 Python