菜鸟鼻涕

菜鸟鼻涕

爱像风,看不到,但是能感觉到

  • 财富值4243
  • 威望值50
  • 总积分5423

个人信息

  • 2017-10-01 已签到
    连续签到4天,获得了20个金钱
  • 赞了说说
    提前放假了,假期不打卡了,好好的耍。
  • 赞了说说
    It sucks.
  • 2017-09-30 已签到
    连续签到3天,获得了15个金钱
  • 发表了说说
    哈哈哈,新头像签到
  • 2017-09-29 已签到
    连续签到2天,获得了10个金钱
  • 赞了回答

    从本质上来说,区别就是方法名 和 触发的顺序不同。
    如你所说的,在接收到请求并解析时,首先会实例化相关类文件
    即首先执行 __construct 中的逻辑代码
    根据框架的源码来看,第二步是执行 init 中的逻辑代码
    再到 beforeAction
    最后才是请求对应的控制器中的actionXxx 。

    当然所有的方法都是可以通过继承的方式修改,只需符合框架的逻辑执行顺序即可。 有疑问的话不妨多测试测试

  • 赞了回答

    首先,从思想上不要把RBAC想的太神秘。

    说白了,它其实就是类似,你有某个锁的钥匙,然后你才能打开它,一样的道理。

    RBAC文档样例中的 createPost 也是一个钥匙。至于锁要放在哪边,就看你的业务逻辑了,可以只用一次 也可以多个地方用一个锁。

    由于常见的业务都跟 用户 和 控制器 相关,所以我们才会习惯性的把 控制器路由的路径(比如 /module/controller/action 之类的) 设置为钥匙(权限名称)。
    这样,当你访问某个控制器时,没钥匙,就会提示权限不足。

    建议多结合框架进行测试,验证之后 心里就有底了 ;)

  • 收藏了问题
    RBAC
  • 2017-09-28 已签到
    连续签到1天,获得了5个金钱
副总裁 等级规则
5423/10000
资料完整度
80/100
用户活跃度
0/100

Ta的关注

14

Ta的粉丝

4

Ta的访客

43