优化代码

This commit is contained in:
thinkgem
2021-05-15 21:24:37 +08:00
parent af1c45601c
commit 25f49d050f
2 changed files with 8 additions and 6 deletions

View File

@@ -54,10 +54,11 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
public static final String MESSAGE_PARAM = "message"; // 登录返回消息
public static final String REMEMBER_USERCODE_PARAM = "rememberUserCode"; // 记住用户名
public static final String EXCEPTION_ATTRIBUTE_NAME = "exception"; // 异常类属性名
public static final String LOGIN_PARAM = "__login"; // 支持GET方式登录的参数
private static final Logger logger = LoggerFactory.getLogger(FormAuthenticationFilter.class);
private static FormAuthenticationFilter instance;
private BaseAuthorizingRealm authorizingRealm;
private Cookie rememberUserCodeCookie; // 记住用户名Cookie
@@ -228,7 +229,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
*/
@Override
protected boolean isLoginRequest(ServletRequest request, ServletResponse response) {
boolean isLogin = WebUtils.isTrue(request, "__login");
boolean isLogin = WebUtils.isTrue(request, LOGIN_PARAM);
return super.isLoginRequest(request, response) || isLogin;
}
@@ -237,7 +238,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
*/
@Override
protected boolean isLoginSubmission(ServletRequest request, ServletResponse response) {
boolean isLogin = WebUtils.isTrue(request, "__login");
boolean isLogin = WebUtils.isTrue(request, LOGIN_PARAM);
return super.isLoginSubmission(request, response) || isLogin;
}

View File

@@ -24,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonView;
import com.jeesite.common.config.Global;
import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.shiro.filter.FormAuthenticationFilter;
import com.jeesite.common.shiro.realm.BaseAuthorizingRealm;
import com.jeesite.common.shiro.realm.LoginInfo;
import com.jeesite.common.web.BaseController;
import com.jeesite.common.web.CookieUtils;
@@ -66,7 +67,7 @@ public class LoginController extends BaseController{
}
// 如果是登录操作跳转到此则认为是登录失败支持GET登录时传递__login=true参数
if (WebUtils.isTrue(request, "__login")){
if (WebUtils.isTrue(request, BaseAuthorizingRealm.IS_LOGIN_OPER)){
return loginFailure(request, response, model);
}
@@ -182,10 +183,10 @@ public class LoginController extends BaseController{
Session session = UserUtils.getSession();
// 是否是登录操作
boolean isLogin = "true".equals(session.getAttribute("__login"));
boolean isLogin = Global.TRUE.equals(session.getAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER));
if (isLogin){
// 获取后接着清除,防止下次获取仍然认为是登录状态
session.removeAttribute("__login");
session.removeAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER);
// 设置共享SessionId的Cookie值第三方系统使用
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
if (StringUtils.isNotBlank(cookieName)){