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实际应用经验篇(8)
Oct 09 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
Laravel中log无法写入问题的解决
Jun 17 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
php修改word的实例方法
Nov 17 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自定义大小验证码的方法详解
2013/06/07 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
vscode自定义vue模板的实现
2021/01/27 Vue.js
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python hough变换检测直线的实现方法
2019/07/12 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
辞职书格式样本
2015/02/26 职场文书
保留意见审计报告
2015/06/05 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python