Yii2针对游客、用户防范规则和限制的解决方法分析

本文实例分析了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

时间: 2024-10-30 04:50:44

Yii2针对游客、用户防范规则和限制的解决方法分析的相关文章

Yii2针对游客、用户防范规则和限制的解决方法分析_php实例

本文实例分析了Yii2针对游客.用户防范规则和限制的解决方法.分享给大家供大家参考,具体如下: 最近在用Yii2.0做项目,其中需要实现一个功能:没有登录不能访问部分页面,即游客身份访问限制.查了半天资料,终于找到答案.解决方法如下: 在access里,access即访问的意思,其中有个配置项: 'only'=>['login','about'] 这是什么意思呢,意思是仅仅在login.about两个action内起作用,即当action 是login.about时,会进入rules里做下一步验

内网用户AD账号无法登陆的解决方法分析

最近,公司部分用户反映在使用公司相关微软系统(包括Microsoft Share Point 2010.Microsoft Outlook 2010.Lync)时会不定期出现弹出密码框且无法登陆的问题(如图1).在正常情况下,用户只需要登录系统后,不需要再次输入用户名和密码就能访问这些基于AD的应用系统. 一.现象分析 通过抓包分析,并结合采用微软提供的LockoutStatus工具,我们发现此问题是由于相关域帐号在与用户PC(或服务器)无关的机器上发起了多次失败的登陆,造成这些账户在域中被锁定

“用户 HP-2V47VI88M4GB\ASPNET 登录失败”的解决方法

解决 头一次为了完成象征性的作业而使用asp.net,第一次使用asp.net啊,汗.所以马上就碰到了问题,我现在把这个问题写出来,对于开发过asp.net的人,这个问题应该不成为问题吧,我也只是针对刚刚接触asp.net的人.昨晚在尝试DataGrid时,出现如下错误: "/DataGridTest"应用程序中的服务器错误. --------------------------------------------------------------------------------

Vsftp匿名用户不能下载的原因及解决方法

近期在群里,坛子里,包括自己做练习的时候都遇到了上面的问题,搜索网络也没找到比较确切的答案:后又查看了大量的相关文章和资料,现把这个问题拿出来分析解决,供广大vsftp学习新人参考:(这个问题和防火墙无关,关闭iptables) vsftp中的和匿名用户有关的参数: 1)主配置文件:/etc/vsftpd/vsftpd.conf -------------------------------------------------- [root@station ~]# cat /etc/vsftpd

Mac OS 系统用户无法访问Windows 域的解决方法

如何吧Mac OS Lion 加入到Windows 域中呢?如何让Mac Book Pro也享受到windows域带来的便捷呢?使用Mac电脑的网友可以看一下. 1.将本本连入到公司网络中,确定可以解析公司的域名: 2.点击苹果图标打开"系统偏好设置": 3.点击"系统"中的"用户与群组": 4.选中登陆选项,点击小锁头解锁:

SQLServer 数据库变成单个用户后无法访问问题的解决方法_MsSql

解决办法是: 运行下面SQL 复制代码 代码如下: USE master;  GO  DECLARE @SQL VARCHAR(MAX);  SET @SQL=''  SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)  FROM master..sysprocesses  WHERE dbid=DB_ID('数据库名');  EXEC(@SQL); ALTER DATABASE 数据库名 SET MULTI_USER;

SQLServer 数据库变成单个用户后无法访问问题的解决方法

解决办法是: 运行下面SQL 复制代码 代码如下:USE master;  GO  DECLARE @SQL VARCHAR(MAX);  SET @SQL=''  SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)  FROM master..sysprocesses  WHERE dbid=DB_ID('数据库名'); EXEC(@SQL); ALTER DATABASE 数据库名 SET MULTI_USER;

Web设计和开发常犯的9个用户体验错误和解决方法

一个烂网站就像一个性情乖戾的推销员,这样的推销员不仅无法说服顾客,而且让人生厌,就网站而言,再也没有什么比蹩脚的用户体验更让人沮丧的了.本文讲述了 Web 设计与开发中常犯的 9 个用户体验错误以及它们的解决方法. Web 用户体验大师 Jacob Nielsen 说过,"一个烂网站就像一个性情乖戾的推销员",这样的推销员不仅无法说服顾客,而且让人生厌,就网站而言,再也没有什么比蹩脚的用户体验更让人沮丧的了.本文讲述了 Web 设计与开发中常犯的 9 个用户体验错误以及它们的解决方法.

Yii2的XSS攻击防范策略分析_php实例

本文实例讲述了Yii2的XSS攻击防范策略.分享给大家供大家参考,具体如下: XSS 漏洞修复 原则: 不相信客户输入的数据 注意: 攻击代码不一定在<script></script>中 ① 将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了. ② 只允许用户输入我们期望的数据. 例如: 年龄的textbox中,只允许用户输入数字. 而数字之外的字符都过滤掉. ③ 对数据进行Html Enc