2013-06-05 43 views
0

现在我正在使用与Spring集成的Shiro来保护我的项目。主要根据角色过滤请求。现在我遇到了一个问题。例如,在我登录了一段时间之后,会话就结束了,在这个时候,当我点击一些向后端发送请求的按钮时,由于会话结束,请求被shiro拦截。这就是问题 存在的地方。即使四郎给出了一个选择,你可以配置一些东西一样如何从shiro身份验证返回的响应中获取HTTP状态

<property name="unauthorizedUrl" value="/unauthorized.jsp"/> 

到该请求是否是未经授权的指定网址。我认为回应shiro返回应包括status.Unauthorized或401错误。我想要做的是在每个ajax请求中处理这个错误。但我不知道在ajax的回调方法中检查状态。有人可以提供一些建议吗?由于

回答

0

你可以像这样的方法添加到您的SecurityFilters:

def onNotAuthenticated(subject, filter) { 
    def redirectToLoginPage = true 
    if (filter.request.xhr) { 
     filter.response.sendError 403 
     redirectToLoginPage = false 
    } 
    redirectToLoginPage 
} 
相关问题