现在我使用Shiro与Spring集成来保护我的项目。主要根据角色过滤请求。现在我遇到了一个问题。例如,在我登录一段时间后,会话已经结束,此时当我点击向后端发送请求的一些按钮时,由于我的会话输出,该请求肯定被shiro截获。这就是问题所在 存在。尽管Shiro给出了一个选择,你可以配置像
这样的东西 <property name="unauthorizedUrl" value="/unauthorized.jsp"/>
如果请求未经授权,则分配URL。我认为响应shiro返回应该包括status.Unauthorized或401错误。我想要做的是在每个ajax请求中处理此错误。但我不知道在ajax的回调方法中检查状态。有人能提出一些建议吗?感谢
答案 0 :(得分:0)
您可以向SecurityFilters添加这样的方法:
def onNotAuthenticated(subject, filter) {
def redirectToLoginPage = true
if (filter.request.xhr) {
filter.response.sendError 403
redirectToLoginPage = false
}
redirectToLoginPage
}