美文网首页
org.apache.shiro.authz.Authoriza

org.apache.shiro.authz.Authoriza

作者: 螃蟹和骆驼先生Yvan | 来源:发表于2017-11-16 11:21 被阅读1608次

这个错误我看百度一大堆真正说的有头有尾的没几个

我先说明一下我的项目:SpringBoot+shiro+mybatis

来说说错误的由来吧!

org.apache.shiro.authz.AuthorizationException: Not authorized to invoke method: public java.lang.String

这个错误真正原因是@Controller这个注解引起的。

我遇到问题:

我现在在Controller一个方法返回的是一个页面,但是我这个用户没这个权限,shiro在登录成功之后知道我没有权限访问这个页面,

shiro根据没有权限本应该抛出Subject does not have permission [userInfo:del]错误,做为返回的内容,但是@Controller代表返回的是页面,

所以应该是Subject does not have permission [userInfo:del]被误以为是页面,抛出这个异常(public java.lang.String),

如果换成@RestController 就不会抛出异常,你要知道shiro不是不处理是他处理了,但是问题是返回的内容被我们定义死了,

所以抛出来异常。

这个错误原因很简单:至于处理方式做统一异常处理,在做一个错误页面进行处理

在拦截那里加一个错误处理方式:     shiroFilterFactoryBean.setUnauthorizedUrl("url");

到这里就ok啦

如果有什么问题可以qq交流:

179061434

相关文章

  • org.apache.shiro.authz.Authoriza

    这个错误我看百度一大堆真正说的有头有尾的没几个 我先说明一下我的项目:SpringBoot+shiro+mybat...

网友评论

      本文标题:org.apache.shiro.authz.Authoriza

      本文链接:https://www.haomeiwen.com/subject/jxclvxtx.html