Yii2针对游客、用户防范规则和限制的解决方法分析
2018-09-07 19:04
本文实例分析了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程序设计有所帮助。