记住我情况下解决偶尔出现不显示登录页面的问题。
This commit is contained in:
@@ -2,6 +2,5 @@
|
|||||||
<wb-module deploy-name="jeesite-module-core">
|
<wb-module deploy-name="jeesite-module-core">
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/java"/>
|
<wb-resource deploy-path="/" source-path="/src/main/java"/>
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/resources"/>
|
<wb-resource deploy-path="/" source-path="/src/main/resources"/>
|
||||||
<wb-resource deploy-path="/" source-path="/src/test/resources"/>
|
|
||||||
</wb-module>
|
</wb-module>
|
||||||
</project-modules>
|
</project-modules>
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import org.jasig.cas.client.validation.TicketValidationException;
|
|||||||
import org.jasig.cas.client.validation.TicketValidator;
|
import org.jasig.cas.client.validation.TicketValidator;
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
|
|
||||||
import com.beust.jcommander.internal.Maps;
|
|
||||||
import com.jeesite.common.codec.EncodeUtils;
|
import com.jeesite.common.codec.EncodeUtils;
|
||||||
|
import com.jeesite.common.collect.MapUtils;
|
||||||
import com.jeesite.common.lang.ObjectUtils;
|
import com.jeesite.common.lang.ObjectUtils;
|
||||||
import com.jeesite.common.shiro.authc.FormToken;
|
import com.jeesite.common.shiro.authc.FormToken;
|
||||||
import com.jeesite.common.shiro.cas.CasCreateUser;
|
import com.jeesite.common.shiro.cas.CasCreateUser;
|
||||||
@@ -94,7 +94,7 @@ public class CasAuthorizingRealm extends BaseAuthorizingRealm {
|
|||||||
// 生成登录信息对象
|
// 生成登录信息对象
|
||||||
FormToken token = new FormToken();
|
FormToken token = new FormToken();
|
||||||
token.setUsername(casPrincipal.getName());
|
token.setUsername(casPrincipal.getName());
|
||||||
Map<String, Object> params = Maps.newHashMap();
|
Map<String, Object> params = MapUtils.newHashMap();
|
||||||
params.putAll(casPrincipal.getAttributes());
|
params.putAll(casPrincipal.getAttributes());
|
||||||
params.put("ticket", ticket);
|
params.put("ticket", ticket);
|
||||||
token.setParams(params);
|
token.setParams(params);
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.apache.shiro.authz.AuthorizationInfo;
|
|||||||
import org.apache.shiro.authz.UnauthorizedException;
|
import org.apache.shiro.authz.UnauthorizedException;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.apache.shiro.session.Session;
|
import org.apache.shiro.session.Session;
|
||||||
|
import org.apache.shiro.subject.Subject;
|
||||||
import org.apache.shiro.web.util.WebUtils;
|
import org.apache.shiro.web.util.WebUtils;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
@@ -192,7 +193,11 @@ public class LoginController extends BaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 验证下用户权限,以便调用doGetAuthorizationInfo方法,保存单点登录登出句柄
|
// 验证下用户权限,以便调用doGetAuthorizationInfo方法,保存单点登录登出句柄
|
||||||
if (!SecurityUtils.getSubject().isPermitted("user")){
|
Subject subject = SecurityUtils.getSubject();
|
||||||
|
if (subject == null || !subject.isPermitted("user")){
|
||||||
|
if (subject != null){
|
||||||
|
subject.logout();
|
||||||
|
}
|
||||||
String queryString = request.getQueryString();
|
String queryString = request.getQueryString();
|
||||||
queryString = queryString == null ? "" : "?" + queryString;
|
queryString = queryString == null ? "" : "?" + queryString;
|
||||||
ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString);
|
ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString);
|
||||||
|
|||||||
@@ -23,9 +23,8 @@ import org.springframework.ui.Model;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import com.beust.jcommander.internal.Lists;
|
|
||||||
import com.beust.jcommander.internal.Maps;
|
|
||||||
import com.jeesite.common.cache.CacheUtils;
|
import com.jeesite.common.cache.CacheUtils;
|
||||||
|
import com.jeesite.common.collect.ListUtils;
|
||||||
import com.jeesite.common.collect.MapUtils;
|
import com.jeesite.common.collect.MapUtils;
|
||||||
import com.jeesite.common.config.Global;
|
import com.jeesite.common.config.Global;
|
||||||
import com.jeesite.common.lang.DateUtils;
|
import com.jeesite.common.lang.DateUtils;
|
||||||
@@ -85,7 +84,7 @@ public class OnlineController extends BaseController{
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public List<Map<String, Object>> listData(String isAllOnline, String isVisitor, String sessionId,
|
public List<Map<String, Object>> listData(String isAllOnline, String isVisitor, String sessionId,
|
||||||
String userCode, String userName, String userType, String orderBy) {
|
String userCode, String userName, String userType, String orderBy) {
|
||||||
List<Map<String, Object>> list = Lists.newArrayList();
|
List<Map<String, Object>> list = ListUtils.newArrayList();
|
||||||
boolean excludeLeave = isAllOnline==null || !Global.YES.equals(isAllOnline);
|
boolean excludeLeave = isAllOnline==null || !Global.YES.equals(isAllOnline);
|
||||||
boolean excludeVisitor = isVisitor==null || !Global.YES.equals(isVisitor);
|
boolean excludeVisitor = isVisitor==null || !Global.YES.equals(isVisitor);
|
||||||
Collection<Session> sessions = sessionDAO.getActiveSessions(excludeLeave,
|
Collection<Session> sessions = sessionDAO.getActiveSessions(excludeLeave,
|
||||||
@@ -98,7 +97,7 @@ public class OnlineController extends BaseController{
|
|||||||
if (StringUtils.isNotBlank(userType) && ((String)session.getAttribute("userType")).equals(userType)){
|
if (StringUtils.isNotBlank(userType) && ((String)session.getAttribute("userType")).equals(userType)){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Map<String, Object> map = Maps.newLinkedHashMap();
|
Map<String, Object> map = MapUtils.newLinkedHashMap();
|
||||||
// 为了安全性,需要有权限的人才能看
|
// 为了安全性,需要有权限的人才能看
|
||||||
if (UserUtils.getSubject().isPermitted("sys:online:edit")){
|
if (UserUtils.getSubject().isPermitted("sys:online:edit")){
|
||||||
map.put("id", session.getId().toString());
|
map.put("id", session.getId().toString());
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ spring:
|
|||||||
# 清理全部缓存按钮所清理的缓存列表
|
# 清理全部缓存按钮所清理的缓存列表
|
||||||
clearNames: sysCache,corpCache,userCache,cmsCache
|
clearNames: sysCache,corpCache,userCache,cmsCache
|
||||||
|
|
||||||
# 关闭 Spring Boot Banner 打印
|
# 打印横幅
|
||||||
main:
|
main:
|
||||||
bannerMode: "off"
|
bannerMode: "off"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user