就是能不能用shiro做到,比如说某权限需要特定的动作才能赋予,点击某按钮才能赋予权限,在controller中授权谁能给一下代码吗

解决方案 »

  1.   

    shiro能做到
    shiro的subject对象有个方法叫runAs,表明当前用户可以用某个身份执行某些操作
    例如你有普通用户A和超级管理员B
    当A登陆之后,点击某个按钮之前,一直是A的权限
    当触发某个特殊按钮后,执行后台runAs逻辑,使用B身份运行,这样就可以额外执行其他的操作
      

  2.   

    还有一种方法,你需要重写shiro的权限校验类,加入自己的特殊逻辑
    如下图,我写了一个特殊逻辑,就是admin用户不用进行任何权限认证,默认拥有所有权限