新增参数:是否在登录后生成新的Session(默认false)详见 jeesite.yml

This commit is contained in:
thinkgem
2018-08-08 21:40:24 +08:00
parent fc88e47a4b
commit 45a09933b0
3 changed files with 24 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ import com.jeesite.common.shiro.authc.FormToken;
import com.jeesite.common.shiro.realm.BaseAuthorizingRealm;
import com.jeesite.common.shiro.realm.LoginInfo;
import com.jeesite.common.web.http.ServletUtils;
import com.jeesite.modules.sys.utils.UserUtils;
/**
* 表单验证(包含验证码)过滤类
@@ -157,6 +158,9 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
return captcha;
}
/**
* 跳转登录页时,跳转到默认首页
*/
@Override
protected void redirectToLogin(ServletRequest request, ServletResponse response) throws IOException {
PermissionsAuthorizationFilter.redirectToDefaultPath(request, response);
@@ -208,6 +212,18 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
boolean isLogin = WebUtils.isTrue(request, "__login");
return super.isLoginSubmission(request, response) || isLogin;
}
/**
* 执行登录方法
*/
@Override
protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
// 是否在登录后生成新的Session默认false
if (Global.getPropertyToBoolean("shiro.isGenerateNewSessionAfterLogin", "false")){
UserUtils.getSubject().logout();
}
return super.executeLogin(request, response);
}
/**
* 登录成功调用事件

View File

@@ -237,7 +237,7 @@ shiro:
# 是否加密单点登录安全Key
encryptKey: true
# 登录提交信息加密
# 登录提交信息加密(如果不需要加密,设置为空即可)
loginSubmit:
# 登录提交信息安全Key加密用户名、密码、验证码后再提交key设置为3个用逗号分隔
@@ -259,6 +259,9 @@ shiro:
# accessControlAllowOrigin: http://demo.jeesite.net
# accessControlAllowOrigin: '*'
# 是否在登录后生成新的Session默认false
isGenerateNewSessionAfterLogin: false
# URI 权限过滤器定义
filterChainDefinitions: |
/ReportServer/** = user

View File

@@ -260,7 +260,7 @@ jdbc:
# # 是否加密单点登录安全Key
# encryptKey: true
#
# # 登录提交信息加密
# # 登录提交信息加密(如果不需要加密,设置为空即可)
# loginSubmit:
#
# # 登录提交信息安全Key加密用户名、密码、验证码后再提交key设置为3个用逗号分隔
@@ -281,6 +281,9 @@ jdbc:
# # 是否允许跨域访问,如果允许,设置允许的域名,全部域名设置*号,如果不允许,此设置应该为空
## accessControlAllowOrigin: http://demo.jeesite.com
## accessControlAllowOrigin: '*'
#
# # 是否在登录后生成新的Session默认false
# isGenerateNewSessionAfterLogin: false
#
# # URI 权限过滤器定义
# filterChainDefinitions: |