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

怎样实现根据不同用户权限来分别显示内容呢?例如制作了一个页面,但是该页面的某些部分只能被已登录用户看到,以前作java的时候直接判断session,然后将代码放入<%%>... 怎样实现根据不同用户权限来分别显示内容呢?
例如制作了一个页面,但是该页面的某些部分只能被已登录用户看到,以前作java的时候直接判断session,然后将代码放入<%%>里就行了,但是ThinkPHP的模版都是.html了,就不能嵌套php代码了吧?这样该怎么办呢?求解
展开
 我来答
大头块jack
推荐于2017-11-26 · TA获得超过116个赞
知道答主
回答量:89
采纳率:100%
帮助的人:42.1万
展开全部
你说的这个问题就是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)。也希望大家能多多支持。很多事情不是你做不做,最重要的是你能坚持多久。向上吧!
tj2xy_04020
2013-08-09
知道答主
回答量:19
采纳率:0%
帮助的人:9万
展开全部
php支持与html相互套嵌,,在数据库中创建一个字段,来判断,,比如1可以,,2不可以。。就好了,,,,但是在这种MVC思想当中,,也是调用模板。不建议套嵌使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式