在原来的项目里是没有集成shiro的,自己写的登录,权限分配,权限验证的功能,在权限验证filter里,把系统里的访问路径分成了三个种类(admin,user,无限制)
验证的时候如果没有登录的话,会根据请求的url和上面的访问路径分类,得到这次访问需要去哪个登录页面
然后这是对于要去登录页面的处理,
他是通过描绘一段js然后前端跳转不同页面,其实可以直接后台重定向到其他页面
注意:sendRedirect的路径如果带了/打头,会跳转到127.0.0.1:8080/login
在shiro里面的方案:
因为shiro里面默认的filter会在没有用户信息时跳转到之前配置的loginUrl里
注:这里面saveRequest方法是用来保存上一次访问的url信息的,可以用来实现登录超时后重新登录回到原始页面
所以最好把用到的filter都自己重写一遍,然后在onAccessDenied方法里也按照上面的checkUrlLogin方法去得到应该要去的登录页面