ThinkPHP:根据不同权限显示不同内容,该如何实现呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP:根据不同权限显示不同内容,该如何实现呢?相关的知识,希望对你有一定的参考价值。

怎样实现根据不同用户权限来分别显示内容呢?
例如制作了一个页面,但是该页面的某些部分只能被已登录用户看到,以前作java的时候直接判断session,然后将代码放入<%%>里就行了,但是Thinkphp的模版都是.html了,就不能嵌套php代码了吧?这样该怎么办呢?求解

你说的这个问题就是thinkphp中的Rbac用户权限问题,需要在数据库中建立多张表来实现(这是最重要的一步)。先来说一下总的思路:
首先、用户登陆时候验证用户存在之后把用户的id存入session之中,之后在common类(这个类是继承的action类,之后其他要用到权
限的类来继承common类)中,使用_initialize()方法(继承这个类的首先都要初始化这个方法,通过这个方法,可以达到用户权限的判断)。
之后、读取所用的节点,并且根据用户的id读取出用户所属组(role),之后再根据用户组取出权限表中的节点,最后用in_array()来判断用户是否有这个节点(栏目)如果有则显示(读取出来的节点),没有则unset()方法
删除。这样实现了,比较简单的方法是使用官方的类库解决!
下面再补充几个重要的步骤:
建表:到thinkphp中的ORG/Util/RBAC.class.php中之后里面有建数据库表的代码(文件开头部分就有)。有四个表(节点表(node),用户所属组表(role),权限表(acces),用户角色表(role_user))。创建四张表但是‘用户表’要自己建(总共有五张表),最后添加数据就是了。
可能说的很空洞,最好的还是去官网看点视频之后在看这个,或者相关的说明就懂了。说的不是很清楚,但是希望能给你指导一个方向吧。也为了能帮到更多初学者和鼓励自己学习更多来帮助到更多的人,我也开通了百度空间(地址:hi.baidu.com/flyxiangshang)。也希望大家能多多支持。很多事情不是你做不做,最重要的是你能坚持多久。向上吧!
参考技术A php支持与html相互套嵌,,在数据库中创建一个字段,来判断,,比如1可以,,2不可以。。就好了,,,,但是在这种MVC思想当中,,也是调用模板。不建议套嵌使用

以上是关于ThinkPHP:根据不同权限显示不同内容,该如何实现呢?的主要内容,如果未能解决你的问题,请参考以下文章

odoo fields.Selection 根据权限显示不同的selection内容

ThinkPHP类似于RBAC的权限控制

java web项目,想定义一个用户配置文件,启动tomcat时加载该配置文件,不同单位根据配置文件显示不同功能

Thinkphp ajax分页

thinkphp中的ajax分页

django的权限组件