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 相关文章推荐
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php转换颜色为其反色的方法
Apr 27 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
详解php用static方法的原因
2018/09/12 PHP
jQuery购物网页经典制作案例
2016/08/19 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
SVG实现时钟效果
2018/07/17 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
python实现获取Ip归属地等信息
2016/08/27 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python实现flappy bird小游戏
2018/12/24 Python
Python如何访问字符串中的值
2020/02/09 Python
Python调用JavaScript代码的方法
2020/10/27 Python
python的setattr函数实例用法
2020/12/16 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
电子商务毕业生求职信
2013/11/10 职场文书
英文自荐信
2013/12/15 职场文书
2016教师国培研修感言
2015/12/08 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
数据库连接池
2021/04/06 MySQL
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL