Windcx
2017-02-19 20:06
你好,老师。关于RBAC有两个问题,需要请教一下你
你在视频过程中,说,对于一个权限可以有多个URLS的问题
对于RBAC更好的表达,我觉得,如果有该权限,则显示菜单或者按钮,没有则不显示,如果强行访问没有权限的菜单,则再进行警告页面提示。但是关于显示的问题,不知道老师你是怎么解决的呢?我百思不得解
关于第二个问题,我给你讲解一种我用的方法,你看看能否对你有点帮助,我们在BaseController中有个 checkPrivilege 方法,
假如我们有个业务 还是 客户列表页面, 在客户列表有个添加按钮(按钮的链接指向是 /account/set),
这个时候我们如何来控制这个按钮是否显示?你在 对应controller的action 方法中 这么写
$set_flag = $this->checkPrivilege( " /account/set" );//判断是否有 添加的权限
在view页面,我们就
<?php if( $set_flag):?> 添加按钮 <?php endif;?>
希望对你有所帮助 ,
最后 我发现你是个非常喜欢思考的,希望你坚持这点,你思考的越多你思考问题会更深层次,这也是优秀研发必备的一种能力
关于第一个问题,我来给你一个举例一个业务场景,有个权限叫做客户列表,但是客户列表中的有一部分数据显示我们在客户列表通过ajax去获取的(例如客户的消费总金额),那么如果只给权限配置一个 客户列表的url,这时候 关于ajax请求的这部分数据就没有权限,等于客户列表的权限其实默认 就要关联 ajax的这个url。
例如 客户列表 url 是 /account/list, 而ajax获取消费总金额的url 是 /account/money
那么配置的这个权限 就是 2个url一起配置, /account/list 和 /account/money
其实当你给客户配置某个页面访问权限的时候,可能这个页面还有关联功能,这样就有了多个链接的问题
浪子牛逼!!
RBAC打造通用web管理权限
20465 学习 · 47 问题
相似问题