优化代码
This commit is contained in:
@@ -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 MESSAGE_PARAM = "message"; // 登录返回消息
|
||||||
public static final String REMEMBER_USERCODE_PARAM = "rememberUserCode"; // 记住用户名
|
public static final String REMEMBER_USERCODE_PARAM = "rememberUserCode"; // 记住用户名
|
||||||
public static final String EXCEPTION_ATTRIBUTE_NAME = "exception"; // 异常类属性名
|
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 final Logger logger = LoggerFactory.getLogger(FormAuthenticationFilter.class);
|
||||||
private static FormAuthenticationFilter instance;
|
private static FormAuthenticationFilter instance;
|
||||||
|
|
||||||
private BaseAuthorizingRealm authorizingRealm;
|
private BaseAuthorizingRealm authorizingRealm;
|
||||||
private Cookie rememberUserCodeCookie; // 记住用户名Cookie
|
private Cookie rememberUserCodeCookie; // 记住用户名Cookie
|
||||||
|
|
||||||
@@ -228,7 +229,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected boolean isLoginRequest(ServletRequest request, ServletResponse response) {
|
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;
|
return super.isLoginRequest(request, response) || isLogin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +238,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected boolean isLoginSubmission(ServletRequest request, ServletResponse response) {
|
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;
|
return super.isLoginSubmission(request, response) || isLogin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonView;
|
|||||||
import com.jeesite.common.config.Global;
|
import com.jeesite.common.config.Global;
|
||||||
import com.jeesite.common.lang.StringUtils;
|
import com.jeesite.common.lang.StringUtils;
|
||||||
import com.jeesite.common.shiro.filter.FormAuthenticationFilter;
|
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.shiro.realm.LoginInfo;
|
||||||
import com.jeesite.common.web.BaseController;
|
import com.jeesite.common.web.BaseController;
|
||||||
import com.jeesite.common.web.CookieUtils;
|
import com.jeesite.common.web.CookieUtils;
|
||||||
@@ -66,7 +67,7 @@ public class LoginController extends BaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 如果是登录操作,跳转到此,则认为是登录失败(支持GET登录时传递__login=true参数)
|
// 如果是登录操作,跳转到此,则认为是登录失败(支持GET登录时传递__login=true参数)
|
||||||
if (WebUtils.isTrue(request, "__login")){
|
if (WebUtils.isTrue(request, BaseAuthorizingRealm.IS_LOGIN_OPER)){
|
||||||
return loginFailure(request, response, model);
|
return loginFailure(request, response, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,10 +183,10 @@ public class LoginController extends BaseController{
|
|||||||
Session session = UserUtils.getSession();
|
Session session = UserUtils.getSession();
|
||||||
|
|
||||||
// 是否是登录操作
|
// 是否是登录操作
|
||||||
boolean isLogin = "true".equals(session.getAttribute("__login"));
|
boolean isLogin = Global.TRUE.equals(session.getAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER));
|
||||||
if (isLogin){
|
if (isLogin){
|
||||||
// 获取后接着清除,防止下次获取仍然认为是登录状态
|
// 获取后接着清除,防止下次获取仍然认为是登录状态
|
||||||
session.removeAttribute("__login");
|
session.removeAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER);
|
||||||
// 设置共享SessionId的Cookie值(第三方系统使用)
|
// 设置共享SessionId的Cookie值(第三方系统使用)
|
||||||
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
|
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
|
||||||
if (StringUtils.isNotBlank(cookieName)){
|
if (StringUtils.isNotBlank(cookieName)){
|
||||||
|
|||||||
Reference in New Issue
Block a user