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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
PHP的FTP学习(二)
Oct 09 PHP
如何写php程序?
Dec 08 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
php排序算法实例分析
Oct 17 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
May 05 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 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 nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
img的onload的另类用法
2008/01/10 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
python爬虫中多线程的使用详解
2019/09/23 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
销售总监工作职责
2013/11/21 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
船舶专业个人求职信范文
2014/01/02 职场文书
就业意向书
2014/07/29 职场文书
个人总结怎么写
2015/02/26 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers