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不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
使用PHP编写的SVN类
Jul 18 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
10款实用的PHP开源工具
Oct 23 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
详解PHP素材图片上传、下载功能
Apr 12 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/06/18 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
React中的render何时执行过程
2018/04/13 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
js实现select下拉框选择
2020/01/11 Javascript
Python中的CURL PycURL使用例子
2014/06/01 Python
python连接字符串的方法小结
2015/07/13 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
python实现银行实战系统
2020/02/26 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
序列化Python对象的方法
2020/08/01 Python
公关关系专员的自我评价分享
2013/11/20 职场文书
简单租房协议书
2014/04/09 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
管理标语大全
2014/06/24 职场文书
挂靠协议书
2015/01/27 职场文书
2015年度党员个人总结
2015/02/14 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫