shiro登录是用过滤器来验证的。那么,我们本身是不用写登录(login)的业务需求的。
当我们第一次登录的时候,都是走完整个流程也就会对了。但是,如标题所示,保持shiro逻辑不变的话,重新登录,两种结果:
1.当不配置login接口的话,进入404页面。
2.当配置login接口的话,能正确走完流程,只是,二次登录会进行两次登录校验。
现在,有个方法能很好的解决这个问题:
重写:isAccessAllowed 方法:
@Override
protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
if(isLoginRequest(request,response)&&isLoginSubmission(request, response)){
return false;
}
return super.isAccessAllowed(request, response, mappedValue);
}
解决了这个问题。
那么,还有一个问题,就是shiro在一个浏览器中,第一次登录成功,第二次密码不正确也能登录成功的问题。现在也解决了