最近在用springboot整合shiro,在访问时出现了No SecurityManager accessible to the calling code…报错:
产生原因
自定义的SysUserFilter加载顺序在ShiroFilter之前,导致出现No SecurityManager accessible to the calling code…
解决办法
shiroFilter()的加载先于自定义的SysUserFilter
总结
出现No SecurityManager accessible to the calling code…问题的原因可能有很多,而我这个是因为将自定义的Filter在ShiroFitler之前加载。ShiroFilter 是整个 Shiro 的入口点,用于拦截需要安全控制的请求进行处理,当自定义的filter先于shiroFilter加载,而shiroFilter里又使用到该自定义filter时,就会导致调用该自定义filter进行预处理时访问不到SecurityManager,也就是文中所出现的错误。