ThinkPHP RBAC

ThinkPHP的RBAC网上很多相关内容.但是很多像是洪七公教杨过打狗棒法一样.只是告诉"孩子,记住我的招式,原理爷tm不告诉你",现在一想起来杨过确实聪明过人,打狗棒法或许也不过几个招式.大鸟侠很快就学会了.像哥们这样有姿色没才色的就相当难过了.至少知道大概原理,实行步骤,心里有点谱才好下手.

这里简单的介绍一下TP里RBAC的大致说明.再结合一下其他大仙的技术博博.相信一定能对大家有所帮助.

RBAC

 

作用:控制用户(是/否)能访问(模块/操作)

原理:把允许访问的模块/操作写到SESSION中(RBAC类自动执行),RBAC自动验证(不允许执行的模块/操作,用户可定义如何操作)

操作步骤:

0,前提:把保存允许访问模块/操作的数据库创建好.这里TP已经准备好了,在RBAC的类中,(四个表,详细说明见各路大仙博博),注意:

a.创建好表.自己可以手动输入模块/操作到数据库中进行测试,不必先制作繁琐的后台增删改查操作,影响学习积极性.

b.模块/操作大小写,

c.写入允许访问操作,先允许当前操作的模块,允许模块先允许项目.树形结构,允许访问的模块到项目这一支应该是全允许的.

d.没写入的模块不允许访问 = = 写入的才允许访问

 

1,修改rbac配置到配置文件(比如是否开启rbac. rbac的认证是实时的还是注销重新登录以后生效的. 等等等等)

2,写入代码到登录验证中,这里RBAC类可以做两个事情:

a.登录验证.   RBAC::authenticate();

b,登录成功后,把允许访问的模块/操作写入session    RBAC::saveAccessList(); 到这里可以查看session中允许的模块/操作,实时验证是看不到的

3,写入代码到所有Action的父Action中, 还是两件事情:

a,判断session中是否存在Rbac(SESSION中不存在自己定义操作,一般跳转到登录页面),

b,定义访问禁止的模块和操作时需要的操作(比如没有权限的提示页面)

 

4,完了(我靠,这就完了),对,这tm就完了.

这就实现了RBAC的基本验证功能.

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值