问答详情
源自:5-1 课程总结

对RBAC的提问

你好,老师。关于RBAC有两个问题,需要请教一下你

  1. 你在视频过程中,说,对于一个权限可以有多个URLS的问题

  2. 对于RBAC更好的表达,我觉得,如果有该权限,则显示菜单或者按钮,没有则不显示,如果强行访问没有权限的菜单,则再进行警告页面提示。但是关于显示的问题,不知道老师你是怎么解决的呢?我百思不得解

提问者:Windcx 2017-02-19 20:06

个回答

  • 编程浪子
    2017-02-19 20:58:39
    已采纳

    关于第二个问题,我给你讲解一种我用的方法,你看看能否对你有点帮助,我们在BaseController中有个 checkPrivilege 方法,

    假如我们有个业务 还是 客户列表页面, 在客户列表有个添加按钮(按钮的链接指向是 /account/set),

    这个时候我们如何来控制这个按钮是否显示?你在 对应controller的action 方法中  这么写

    $set_flag = $this->checkPrivilege( " /account/set" );//判断是否有 添加的权限

    在view页面,我们就 

    <?php if( $set_flag):?>
    添加按钮
    <?php endif;?>


    希望对你有所帮助 ,

  • 编程浪子
    2017-02-19 21:01:16

    最后 我发现你是个非常喜欢思考的,希望你坚持这点,你思考的越多你思考问题会更深层次,这也是优秀研发必备的一种能力

  • 编程浪子
    2017-02-19 20:49:48

    关于第一个问题,我来给你一个举例一个业务场景,有个权限叫做客户列表,但是客户列表中的有一部分数据显示我们在客户列表通过ajax去获取的(例如客户的消费总金额),那么如果只给权限配置一个 客户列表的url,这时候 关于ajax请求的这部分数据就没有权限,等于客户列表的权限其实默认 就要关联  ajax的这个url。

    例如 客户列表 url 是  /account/list, 而ajax获取消费总金额的url 是 /account/money

    那么配置的这个权限 就是 2个url一起配置, /account/list 和 /account/money

    其实当你给客户配置某个页面访问权限的时候,可能这个页面还有关联功能,这样就有了多个链接的问题



  • 慕粉6579747
    2020-03-10 14:51:55

    浪子牛逼!!