登录成功信息代码优化

This commit is contained in:
thinkgem
2023-06-16 20:43:17 +08:00
parent b6ea3b1f7f
commit dac51fba14
3 changed files with 38 additions and 18 deletions

View File

@@ -6,6 +6,7 @@ package com.jeesite.common.shiro.filter;
import com.jeesite.common.codec.DesUtils;
import com.jeesite.common.codec.EncodeUtils;
import com.jeesite.common.collect.ListUtils;
import com.jeesite.common.collect.MapUtils;
import com.jeesite.common.config.Global;
import com.jeesite.common.lang.ObjectUtils;
@@ -16,7 +17,9 @@ import com.jeesite.common.shiro.realm.BaseAuthorizingRealm;
import com.jeesite.common.web.CookieUtils;
import com.jeesite.common.web.http.ServletUtils;
import com.jeesite.modules.sys.entity.Log;
import com.jeesite.modules.sys.entity.Role;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.utils.CorpUtils;
import com.jeesite.modules.sys.utils.LogUtils;
import com.jeesite.modules.sys.utils.UserUtils;
import com.jeesite.modules.sys.utils.ValidCodeUtils;
@@ -39,6 +42,7 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -428,6 +432,38 @@ public class FormFilter extends org.apache.shiro.web.filter.authc.FormAuthentica
data.put("title", Global.getProperty("productName"));
return data;
}
/**
* 获取登录页面数据
* @author ThinkGem
*/
public static Map<String, Object> getLoginSuccessData(User user, Session session) {
Map<String, Object> data = MapUtils.newHashMap();
data.put("user", user); // 设置当前用户信息
data.put("demoMode", Global.isDemoMode());
data.put("useCorpModel", Global.isUseCorpModel());
data.put("currentCorpCode", CorpUtils.getCurrentCorpCode());
data.put("currentCorpName", CorpUtils.getCurrentCorpName());
data.put("msgEnabled", Global.getPropertyToBoolean("msg.enabled", "false"));
data.put("sysCode", session.getAttribute("sysCode"));
data.put("roleCode", session.getAttribute("roleCode"));
data.put("title", Global.getProperty("productName"));
List<Map<String, Object>> roleList = ListUtils.newArrayList();
String desktopUrl = null;
for (Role role : user.getRoleList()){
Map<String, Object> roleMap = MapUtils.newHashMap();
roleMap.put("roleCode", role.getRoleCode());
roleMap.put("roleName", role.getRoleName());
roleMap.put("isShow", role.getIsShow());
roleList.add(roleMap);
if (desktopUrl == null && StringUtils.isNotBlank(role.getDesktopUrl())) {
desktopUrl = role.getDesktopUrl();
}
}
data.put("roleList", roleList);
data.put("desktopUrl", desktopUrl != null ? desktopUrl : Global.getConfig("sys.index.desktopUrl"));
return data;
}
public void setAuthorizingRealm(BaseAuthorizingRealm authorizingRealm) {
this.authorizingRealm = authorizingRealm;

View File

@@ -14,9 +14,7 @@ import com.jeesite.common.web.BaseController;
import com.jeesite.common.web.CookieUtils;
import com.jeesite.common.web.http.ServletUtils;
import com.jeesite.modules.sys.entity.Menu;
import com.jeesite.modules.sys.entity.Role;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.utils.CorpUtils;
import com.jeesite.modules.sys.utils.PwdUtils;
import com.jeesite.modules.sys.utils.UserUtils;
import io.swagger.annotations.Api;
@@ -190,20 +188,7 @@ public class LoginController extends BaseController{
// 获取当前会话对象,并返回一些数据
Session session = UserUtils.getSession();
model.addAttribute("user", user); // 设置当前用户信息
model.addAttribute("demoMode", Global.isDemoMode());
model.addAttribute("useCorpModel", Global.isUseCorpModel());
model.addAttribute("currentCorpCode", CorpUtils.getCurrentCorpCode());
model.addAttribute("currentCorpName", CorpUtils.getCurrentCorpName());
model.addAttribute("msgEnabled", Global.getPropertyToBoolean("msg.enabled", "false"));
model.addAttribute("sysCode", session.getAttribute("sysCode"));
model.addAttribute("title", Global.getProperty("productName"));
for (Role role : user.getRoleList()){
if (StringUtils.isNotBlank(role.getDesktopUrl())) {
model.addAttribute("desktopUrl", role.getDesktopUrl()); // 设置当前用户信息
break;
}
}
model.addAllAttributes(FormFilter.getLoginSuccessData(user, session));
// 是否是登录操作
boolean isLogin = Global.TRUE.equals(session.getAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER));

View File

@@ -18,8 +18,7 @@ var bodyClass = 'fixed noscroll2 sidebar-mini ' + sidebarCollapse;
<div id="tabpanel"></div>
</div>
<% } %>
<div class="hide" id="desktopTabPage" data-title="${text('仪表盘')}"
data-url="${ctx}${isNotBlank(desktopUrl!)?desktopUrl:@Global.getConfig('sys.index.desktopUrl')}"></div>
<div class="hide" id="desktopTabPage" data-title="${text('仪表盘')}" data-url="${ctx}${desktopUrl!}"></div>
<div class="hide" id="modifyPasswordTip" data-message="${modifyPasswordTip!}"></div>
<script src="${ctxStatic}/jquery-toastr/2.1/toastr.min.js?${_version}"></script>
<script src="${ctxStatic}/jquery-plugins/jquery.slimscroll.js"></script>