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 相关文章推荐
PR值查询 | PageRank 查询
Dec 20 PHP
关于页面优化和伪静态
Oct 11 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
PHP url 加密解密函数代码
Aug 26 PHP
PHP 类相关函数的使用详解
May 10 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
php猴子选大王问题解决方法
May 12 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
php图形jpgraph操作实例分析
Feb 22 PHP
PHP实现关键字搜索后描红功能示例
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
typecho插件编写教程(一):Hello World
2015/05/28 PHP
javascript的函数
2007/01/31 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python里大整数相乘相关技巧指南
2014/09/12 Python
Python自动扫雷实现方法
2015/07/25 Python
Python+Wordpress制作小说站
2017/04/14 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
Random 在 Python 中的使用方法
2018/08/09 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python解析json代码实例解析
2019/11/25 Python
python如何进行矩阵运算
2020/06/05 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
个人找工作的自我评价
2013/10/17 职场文书
贷款担保申请书
2014/05/20 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书