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与已存在的Java应用程序集成
Oct 09 PHP
PHP中的cookie
Nov 26 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
php采用session实现防止页面重复刷新
Dec 24 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 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实现懒加载的方法
2015/03/07 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
理解Javascript闭包
2013/11/01 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
Python 多线程Threading初学教程
2017/08/22 Python
理解python中生成器用法
2017/12/20 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
django 中QuerySet特性功能详解
2019/07/25 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
linux面试相关问题
2012/08/11 面试题
《穷人》教学反思
2014/04/08 职场文书
售后服务承诺书模板
2014/05/21 职场文书
质量承诺书怎么写
2014/05/24 职场文书
平面设计专业求职信
2014/08/09 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript