新增 shiro.isAllowMultiDeviceLogin
参数,是否允许多账号多设备登录,如果设置为false,其它地点登录的相同账号全部登录设备将被踢下线
This commit is contained in:
@@ -148,15 +148,17 @@ public class OnlineController extends BaseController{
|
||||
public String tickOut(String sessionId) {
|
||||
Session session = sessionDAO.readSession(sessionId);
|
||||
if (session != null){
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<String, String> onlineTickOutMap = (Map<String, String>)CacheUtils.get("onlineTickOutMap");
|
||||
Map<String, String> onlineTickOutMap = CacheUtils.get("onlineTickOutMap");
|
||||
if (onlineTickOutMap == null){
|
||||
onlineTickOutMap = MapUtils.newConcurrentMap();
|
||||
}
|
||||
PrincipalCollection pc = (PrincipalCollection)session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
|
||||
LoginInfo principal = (pc != null ? (LoginInfo)pc.getPrimaryPrincipal() : null);
|
||||
if (principal != null){
|
||||
onlineTickOutMap.put(principal.getId()+"_"+principal.getParam("deviceType", "PC"), StringUtils.EMPTY);
|
||||
Object pc = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
|
||||
if (pc != null && pc instanceof PrincipalCollection){
|
||||
LoginInfo loginInfo = (LoginInfo)((PrincipalCollection)pc).getPrimaryPrincipal();
|
||||
if (loginInfo != null){
|
||||
String key = loginInfo.getId()+"_"+loginInfo.getParam("deviceType", "PC");
|
||||
onlineTickOutMap.put(key, StringUtils.EMPTY);
|
||||
}
|
||||
}
|
||||
CacheUtils.put("onlineTickOutMap", onlineTickOutMap);
|
||||
sessionDAO.delete(session);
|
||||
|
||||
@@ -40,9 +40,9 @@ jdbc:
|
||||
# 一个连接在池中最大空闲的时间,单位毫秒(30分钟)(4.1.2+)
|
||||
maxEvictableIdleTimeMillis: 1800000
|
||||
|
||||
# 是否自动回收泄露的连接和超时时间,单位秒(10分钟)(4.0.6+)
|
||||
# 是否自动回收泄露的连接和超时时间,单位秒(35分钟)(4.0.6+)
|
||||
removeAbandoned: true
|
||||
removeAbandonedTimeout: 600
|
||||
removeAbandonedTimeout: 2100
|
||||
|
||||
# JTA 分布式事务(v4.0.4+)
|
||||
jta:
|
||||
@@ -312,6 +312,9 @@ shiro:
|
||||
# 是否允许账号多地登录,如果设置为false,同一个设备类型的其它地点登录的相同账号被踢下线
|
||||
isAllowMultiAddrLogin: true
|
||||
|
||||
# 是否允许多账号多设备登录,如果设置为false,其它地点登录的相同账号全部登录设备将被踢下线
|
||||
isAllowMultiDeviceLogin: true
|
||||
|
||||
# 是否允许刷新主框架页,如果设置为false,刷新主页将导致重新登录。如安全性比较高的,如银行个人首页不允许刷新。
|
||||
isAllowRefreshIndex: true
|
||||
|
||||
@@ -490,6 +493,19 @@ file:
|
||||
# 是否用文件流方式下载(支持断点续传)
|
||||
isFileStreamDown: true
|
||||
|
||||
# 视频转码
|
||||
video:
|
||||
|
||||
# 视频格式转换 ffmpeg.exe 所放的路径
|
||||
ffmpegFile: d:/tools/video/ffmpeg-4.9/bin/ffmpeg.exe
|
||||
# ffmpegFile: d:/tools/video/libav-10.6-win64/bin/avconv.exe
|
||||
|
||||
# 视频格式转换 mencoder.exe 所放的路径
|
||||
mencoderFile: d:/tools/video/mencoder-4.9/mencoder.exe
|
||||
|
||||
# 将mp4视频的元数据信息转到视频第一帧
|
||||
qtFaststartFile: d:/tools/video/qt-faststart/qt-faststart.exe
|
||||
|
||||
#======================================#
|
||||
#========== Message settings ==========#
|
||||
#======================================#
|
||||
@@ -544,18 +560,3 @@ msg:
|
||||
oauth:
|
||||
redirectUri: http://demo.jeesite.com/js
|
||||
|
||||
#======================================#
|
||||
#========== Video settings ============#
|
||||
#======================================#
|
||||
|
||||
video:
|
||||
|
||||
# 视频格式转换 ffmpeg.exe 所放的路径
|
||||
ffmpegFile: d:/tools/video/ffmpeg-4.9/bin/ffmpeg.exe
|
||||
# ffmpegFile: d:/tools/video/libav-10.6-win64/bin/avconv.exe
|
||||
|
||||
# 视频格式转换 mencoder.exe 所放的路径
|
||||
mencoderFile: d:/tools/video/mencoder-4.9/mencoder.exe
|
||||
|
||||
# 将mp4视频的元数据信息转到视频第一帧
|
||||
qtFaststartFile: d:/tools/video/qt-faststart/qt-faststart.exe
|
||||
|
||||
@@ -98,9 +98,9 @@ jdbc:
|
||||
# # 一个连接在池中最大空闲的时间,单位毫秒(30分钟)(4.1.2+)
|
||||
# maxEvictableIdleTimeMillis: 1800000
|
||||
#
|
||||
# # 是否自动回收泄露的连接和超时时间,单位秒(10分钟)(4.0.6+)
|
||||
# # 是否自动回收泄露的连接和超时时间,单位秒(35分钟)(4.0.6+)
|
||||
# removeAbandoned: true
|
||||
# removeAbandonedTimeout: 600
|
||||
# removeAbandonedTimeout: 2100
|
||||
|
||||
# # 多数据源名称列表,启用方式:@MyBatisDao(dataSourceName="ds2")
|
||||
# dataSourceNames: ds2
|
||||
@@ -359,6 +359,9 @@ logging:
|
||||
# # 是否允许账号多地登录,如果设置为false,同一个设备类型的其它地点登录的相同账号被踢下线
|
||||
# isAllowMultiAddrLogin: true
|
||||
#
|
||||
# # 是否允许多账号多设备登录,如果设置为false,其它地点登录的相同账号全部登录设备将被踢下线
|
||||
# isAllowMultiDeviceLogin: true
|
||||
#
|
||||
# # 是否允许刷新主框架页,如果设置为false,刷新主页将导致重新登录。如安全性比较高的,如银行个人首页不允许刷新。
|
||||
# isAllowRefreshIndex: true
|
||||
#
|
||||
@@ -502,6 +505,19 @@ logging:
|
||||
# # 是否用文件流方式下载(支持断点续传)
|
||||
# isFileStreamDown: true
|
||||
|
||||
#视频转码
|
||||
#video:
|
||||
#
|
||||
# # 视频格式转换 ffmpeg.exe 所放的路径
|
||||
# ffmpegFile: d:/tools/video/ffmpeg-4.9/bin/ffmpeg.exe
|
||||
## ffmpegFile: d:/tools/video/libav-10.6-win64/bin/avconv.exe
|
||||
#
|
||||
# # 视频格式转换 mencoder.exe 所放的路径
|
||||
# mencoderFile: d:/tools/video/mencoder-4.9/mencoder.exe
|
||||
#
|
||||
# # 将mp4视频的元数据信息转到视频第一帧
|
||||
# qtFaststartFile: d:/tools/video/qt-faststart/qt-faststart.exe
|
||||
|
||||
#======================================#
|
||||
#========== Message settings ==========#
|
||||
#======================================#
|
||||
@@ -535,22 +551,6 @@ logging:
|
||||
# prefix: 【JeeSite】
|
||||
# suffix: ~
|
||||
|
||||
#======================================#
|
||||
#========== Video settings ============#
|
||||
#======================================#
|
||||
|
||||
#video:
|
||||
#
|
||||
# # 视频格式转换 ffmpeg.exe 所放的路径
|
||||
# ffmpegFile: d:/tools/video/ffmpeg-4.9/bin/ffmpeg.exe
|
||||
## ffmpegFile: d:/tools/video/libav-10.6-win64/bin/avconv.exe
|
||||
#
|
||||
# # 视频格式转换 mencoder.exe 所放的路径
|
||||
# mencoderFile: d:/tools/video/mencoder-4.9/mencoder.exe
|
||||
#
|
||||
# # 将mp4视频的元数据信息转到视频第一帧
|
||||
# qtFaststartFile: d:/tools/video/qt-faststart/qt-faststart.exe
|
||||
|
||||
#======================================#
|
||||
#========== Project settings ==========#
|
||||
#======================================#
|
||||
|
||||
Reference in New Issue
Block a user