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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
php图片裁剪函数
Oct 31 PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
python正则表达式re模块详解
2014/06/25 Python
Python解析树及树的遍历
2016/02/03 Python
Python3内置模块random随机方法小结
2019/07/13 Python
python导入库的具体方法
2020/06/18 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
python实现按日期归档文件
2021/01/30 Python
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
护理学专业推荐信
2013/12/03 职场文书
施工安全协议书
2013/12/11 职场文书
置业顾问岗位职责
2014/03/02 职场文书
捐资助学倡议书
2014/04/15 职场文书
销售顾问工作计划书
2014/08/15 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
黑白记忆观后感
2015/06/18 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书