diff --git a/modules/core/.settings/org.eclipse.wst.common.component b/modules/core/.settings/org.eclipse.wst.common.component index ab94cf8e..4be3c128 100644 --- a/modules/core/.settings/org.eclipse.wst.common.component +++ b/modules/core/.settings/org.eclipse.wst.common.component @@ -2,6 +2,5 @@ - diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/realm/CasAuthorizingRealm.java b/modules/core/src/main/java/com/jeesite/common/shiro/realm/CasAuthorizingRealm.java index 3db3f135..c92e00f4 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/realm/CasAuthorizingRealm.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/realm/CasAuthorizingRealm.java @@ -19,8 +19,8 @@ import org.jasig.cas.client.validation.TicketValidationException; import org.jasig.cas.client.validation.TicketValidator; import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import com.beust.jcommander.internal.Maps; import com.jeesite.common.codec.EncodeUtils; +import com.jeesite.common.collect.MapUtils; import com.jeesite.common.lang.ObjectUtils; import com.jeesite.common.shiro.authc.FormToken; import com.jeesite.common.shiro.cas.CasCreateUser; @@ -94,7 +94,7 @@ public class CasAuthorizingRealm extends BaseAuthorizingRealm { // 生成登录信息对象 FormToken token = new FormToken(); token.setUsername(casPrincipal.getName()); - Map params = Maps.newHashMap(); + Map params = MapUtils.newHashMap(); params.putAll(casPrincipal.getAttributes()); params.put("ticket", ticket); token.setParams(params); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java index e7e8112b..4db3b8a8 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java @@ -15,6 +15,7 @@ import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.UnauthorizedException; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.session.Session; +import org.apache.shiro.subject.Subject; import org.apache.shiro.web.util.WebUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -192,7 +193,11 @@ public class LoginController extends BaseController{ } // 验证下用户权限,以便调用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(); queryString = queryString == null ? "" : "?" + queryString; ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java index 3488b6dd..3d67f45b 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java @@ -23,9 +23,8 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; 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.collect.ListUtils; import com.jeesite.common.collect.MapUtils; import com.jeesite.common.config.Global; import com.jeesite.common.lang.DateUtils; @@ -85,7 +84,7 @@ public class OnlineController extends BaseController{ @ResponseBody public List> listData(String isAllOnline, String isVisitor, String sessionId, String userCode, String userName, String userType, String orderBy) { - List> list = Lists.newArrayList(); + List> list = ListUtils.newArrayList(); boolean excludeLeave = isAllOnline==null || !Global.YES.equals(isAllOnline); boolean excludeVisitor = isVisitor==null || !Global.YES.equals(isVisitor); Collection sessions = sessionDAO.getActiveSessions(excludeLeave, @@ -98,7 +97,7 @@ public class OnlineController extends BaseController{ if (StringUtils.isNotBlank(userType) && ((String)session.getAttribute("userType")).equals(userType)){ continue; } - Map map = Maps.newLinkedHashMap(); + Map map = MapUtils.newLinkedHashMap(); // 为了安全性,需要有权限的人才能看 if (UserUtils.getSubject().isPermitted("sys:online:edit")){ map.put("id", session.getId().toString()); diff --git a/modules/core/src/main/resources/config/jeesite-core.yml b/modules/core/src/main/resources/config/jeesite-core.yml index 2340ef78..5a83b5c4 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -67,7 +67,7 @@ spring: # 清理全部缓存按钮所清理的缓存列表 clearNames: sysCache,corpCache,userCache,cmsCache - # 关闭 Spring Boot Banner 打印 + # 打印横幅 main: bannerMode: "off"