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 71522a54..8320e96b 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 @@ -10,6 +10,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.jeesite.modules.sys.utils.CorpUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -158,24 +159,18 @@ public class LoginController extends BaseController{ // 验证下用户权限,以便调用doGetAuthorizationInfo方法,保存单点登录登出句柄 Subject subject = SecurityUtils.getSubject(); - if (subject == null || !subject.isPermitted("user")){ - if (subject != null){ - subject.logout(); - } + if (!subject.isPermitted("user")){ + subject.logout(); String queryString = request.getQueryString(); queryString = queryString == null ? "" : "?" + queryString; ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString); return null; } - //获取登录用户信息 + // 获取登录用户信息,未加载shiro模块时会为空,直接访问则提示操作权限不足。 LoginInfo loginInfo = UserUtils.getLoginInfo(); - - // 未加载shiro模块时会为空,直接访问则提示操作权限不足。 if(loginInfo == null){ - if (subject != null){ - subject.logout(); - } + subject.logout(); String queryString = request.getQueryString(); queryString = queryString == null ? "" : "?" + queryString; ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString); @@ -191,12 +186,16 @@ public class LoginController extends BaseController{ ServletUtils.redirectUrl(request, response, adminPath + "/login" + queryString); return null; } + + // 获取当前会话对象,并返回一些数据 + 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("sysCode", session.getAttribute("sysCode")); - //获取当前会话对象 - Session session = UserUtils.getSession(); - // 是否是登录操作 boolean isLogin = Global.TRUE.equals(session.getAttribute(BaseAuthorizingRealm.IS_LOGIN_OPER)); if (isLogin){