路径调整

This commit is contained in:
RuoYi 2018-02-27 14:50:53 +08:00
parent 71fcd0e932
commit 70d524d032
51 changed files with 150 additions and 189 deletions

View File

@ -1,4 +1,4 @@
package com.ruoyi.framework.constant; package com.ruoyi.common.constant;
/** /**
* 通用常量信息 * 通用常量信息

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro; package com.ruoyi.common.constant;
/** /**
* Shiro通用常量 * Shiro通用常量

View File

@ -1,11 +1,11 @@
package com.ruoyi.project.shiro.common; package com.ruoyi.common.constant;
/** /**
* 用户常量信息 * 用户常量信息
* *
* @author yangzz * @author yangzz
*/ */
public class Constants public class UserConstants
{ {
/** 用户正常状态 */ /** 用户正常状态 */
public static final String USER_NORMAL = "0"; public static final String USER_NORMAL = "0";

View File

@ -1,6 +1,6 @@
package com.ruoyi.project.shiro.exception; package com.ruoyi.common.exception;
import com.ruoyi.project.shiro.exception.user.UserException; import com.ruoyi.common.exception.user.UserException;
/** /**
* 验证码错误异常类 * 验证码错误异常类

View File

@ -1,8 +1,8 @@
package com.ruoyi.project.shiro.exception.base; package com.ruoyi.common.exception.base;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ruoyi.project.shiro.common.utils.MessageUtils; import com.ruoyi.common.utils.MessageUtils;
/** /**
* 基础异常 * 基础异常

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.base; package com.ruoyi.common.exception.base;
/** /**
* Dao异常 * Dao异常

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 角色锁定异常类 * 角色锁定异常类

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 用户锁定异常类 * 用户锁定异常类

View File

@ -1,6 +1,6 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
import com.ruoyi.project.shiro.exception.base.BaseException; import com.ruoyi.common.exception.base.BaseException;
/** /**
* 用户信息异常类 * 用户信息异常类

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 用户不存在异常类 * 用户不存在异常类

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 用户密码不正确或不符合规范异常类 * 用户密码不正确或不符合规范异常类

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 用户错误记数异常类 * 用户错误记数异常类

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.exception.user; package com.ruoyi.common.exception.user;
/** /**
* 用户错误最大次数异常类 * 用户错误最大次数异常类

View File

@ -1,10 +1,10 @@
package com.ruoyi.common.tools; package com.ruoyi.common.utils;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
public class DateTools public class DateUtils
{ {
public static final String DEFAULT_YYYYMMDD = "yyyyMMddHHmmss"; public static final String DEFAULT_YYYYMMDD = "yyyyMMddHHmmss";

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.util; package com.ruoyi.common.utils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.common.utils; package com.ruoyi.common.utils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.common.utils; package com.ruoyi.common.utils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.common.utils; package com.ruoyi.common.utils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest; import java.security.MessageDigest;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.common.utils; package com.ruoyi.common.utils;
import org.springframework.context.MessageSource; import org.springframework.context.MessageSource;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.tools; package com.ruoyi.common.utils;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
@ -8,7 +8,7 @@ import java.util.Map;
* *
* @author yangzz * @author yangzz
*/ */
public class StringTools public class StringUtils
{ {
/** 空字符串 */ /** 空字符串 */
private static final String NULLSTR = ""; private static final String NULLSTR = "";

View File

@ -1,11 +1,11 @@
package com.ruoyi.project.util; package com.ruoyi.common.utils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.ruoyi.common.constant.CommonConstant;
import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.constant.CommonConstant;
import com.ruoyi.project.shiro.common.utils.LogUtils;
import com.ruoyi.project.system.logininfor.domain.Logininfor; import com.ruoyi.project.system.logininfor.domain.Logininfor;
import com.ruoyi.project.system.logininfor.service.LogininforServiceImpl; import com.ruoyi.project.system.logininfor.service.LogininforServiceImpl;
import eu.bitwalker.useragentutils.UserAgent; import eu.bitwalker.useragentutils.UserAgent;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.util; package com.ruoyi.common.utils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
@ -11,7 +11,7 @@ import com.ruoyi.project.system.menu.domain.Menu;
* *
* @author y * @author y
*/ */
public class TreeUtil public class TreeUtils
{ {
/** /**
@ -176,7 +176,7 @@ public class TreeUtil
permList.add(perm4); permList.add(perm4);
permList.add(perm5); permList.add(perm5);
List<Menu> ns = TreeUtil.getChildPerms(permList, 0); List<Menu> ns = TreeUtils.getChildPerms(permList, 0);
for (Menu m : ns) for (Menu m : ns)
{ {
System.out.println(m.getMenuName()); System.out.println(m.getMenuName());

View File

@ -15,13 +15,14 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import com.ruoyi.project.shiro.realm.UserRealm;
import com.ruoyi.project.shiro.session.OnlineSessionDAO; import com.ruoyi.framework.shiro.realm.UserRealm;
import com.ruoyi.project.shiro.session.OnlineSessionFactory; import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
import com.ruoyi.project.shiro.web.filter.online.OnlineSessionFilter; import com.ruoyi.framework.shiro.session.OnlineSessionFactory;
import com.ruoyi.project.shiro.web.filter.sync.SyncOnlineSessionFilter; import com.ruoyi.framework.shiro.web.filter.online.OnlineSessionFilter;
import com.ruoyi.project.shiro.web.session.OnlineWebSessionManager; import com.ruoyi.framework.shiro.web.filter.sync.SyncOnlineSessionFilter;
import com.ruoyi.project.shiro.web.session.SpringSessionValidationScheduler; import com.ruoyi.framework.shiro.web.session.OnlineWebSessionManager;
import com.ruoyi.framework.shiro.web.session.SpringSessionValidationScheduler;
import com.ruoyi.project.system.menu.service.IMenuService; import com.ruoyi.project.system.menu.service.IMenuService;
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;

View File

@ -6,7 +6,9 @@ import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.SqlSessionTemplate;
import com.ruoyi.project.shiro.exception.base.DaoException;
import com.ruoyi.common.exception.base.DaoException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**

View File

@ -1,7 +1,7 @@
package com.ruoyi.common.utils; package com.ruoyi.framework.page;
import java.util.Map; import java.util.Map;
import com.ruoyi.common.tools.StringTools; import com.ruoyi.common.utils.StringUtils;
/** /**
* 表格请求参数封装 * 表格请求参数封装
@ -102,7 +102,7 @@ public class PageUtilEntity
public String getOrderCond() public String getOrderCond()
{ {
String orderCond = ""; String orderCond = "";
if (StringTools.isNotNull(orderByColumn) && StringTools.isNotNull(isAsc)) if (StringUtils.isNotNull(orderByColumn) && StringUtils.isNotNull(isAsc))
{ {
orderCond = "ORDER BY " + this.orderByColumn + " " + this.isAsc; orderCond = "ORDER BY " + this.orderByColumn + " " + this.isAsc;
} }

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.utils; package com.ruoyi.framework.page;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.realm; package com.ruoyi.framework.shiro.realm;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationInfo;
@ -15,13 +15,14 @@ import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.subject.PrincipalCollection;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.ruoyi.common.exception.JCaptchaException;
import com.ruoyi.common.exception.user.RoleBlockedException;
import com.ruoyi.common.exception.user.UserBlockedException;
import com.ruoyi.common.exception.user.UserNotExistsException;
import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
import com.ruoyi.common.exception.user.UserPasswordRetryLimitExceedException;
import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.project.shiro.exception.JCaptchaException; import com.ruoyi.framework.shiro.service.LoginService;
import com.ruoyi.project.shiro.exception.user.RoleBlockedException;
import com.ruoyi.project.shiro.exception.user.UserBlockedException;
import com.ruoyi.project.shiro.exception.user.UserNotExistsException;
import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException;
import com.ruoyi.project.shiro.exception.user.UserPasswordRetryLimitExceedException;
import com.ruoyi.project.system.menu.service.IMenuService; import com.ruoyi.project.system.menu.service.IMenuService;
import com.ruoyi.project.system.role.service.IRoleService; import com.ruoyi.project.system.role.service.IRoleService;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;

View File

@ -1,19 +1,17 @@
package com.ruoyi.project.shiro.realm; package com.ruoyi.framework.shiro.service;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ruoyi.framework.constant.CommonConstant; import com.ruoyi.common.constant.CommonConstant;
import com.ruoyi.project.shiro.common.Constants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.project.shiro.common.utils.MessageUtils; import com.ruoyi.common.exception.user.UserBlockedException;
import com.ruoyi.project.shiro.exception.user.RoleBlockedException; import com.ruoyi.common.exception.user.UserNotExistsException;
import com.ruoyi.project.shiro.exception.user.UserBlockedException; import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
import com.ruoyi.project.shiro.exception.user.UserNotExistsException; import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException; import com.ruoyi.common.utils.SystemLogUtils;
import com.ruoyi.project.shiro.service.PasswordService;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
import com.ruoyi.project.system.user.service.IUserService; import com.ruoyi.project.system.user.service.IUserService;
import com.ruoyi.project.util.SystemLogUtils;
/** /**
* 登录校验方法 * 登录校验方法
@ -41,16 +39,16 @@ public class LoginService
throw new UserNotExistsException(); throw new UserNotExistsException();
} }
// 密码如果不在指定范围内 错误 // 密码如果不在指定范围内 错误
if (password.length() < Constants.PASSWORD_MIN_LENGTH if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
|| password.length() > Constants.PASSWORD_MAX_LENGTH) || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
{ {
SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match")); SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match"));
throw new UserPasswordNotMatchException(); throw new UserPasswordNotMatchException();
} }
// 用户名不在指定范围内 错误 // 用户名不在指定范围内 错误
if (username.length() < Constants.USERNAME_MIN_LENGTH if (username.length() < UserConstants.USERNAME_MIN_LENGTH
|| username.length() > Constants.USERNAME_MAX_LENGTH) || username.length() > UserConstants.USERNAME_MAX_LENGTH)
{ {
SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match")); SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match"));
throw new UserPasswordNotMatchException(); throw new UserPasswordNotMatchException();
@ -67,7 +65,7 @@ public class LoginService
passwordService.validate(user, password); passwordService.validate(user, password);
if (Constants.USER_BLOCKED.equals(user.getStatus())) if (UserConstants.USER_BLOCKED.equals(user.getStatus()))
{ {
SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRefuseDes())); SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRefuseDes()));
throw new UserBlockedException(user.getRefuseDes()); throw new UserBlockedException(user.getRefuseDes());

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.service; package com.ruoyi.framework.shiro.service;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@ -7,13 +7,14 @@ import org.apache.shiro.cache.CacheManager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ruoyi.framework.constant.CommonConstant;
import com.ruoyi.project.shiro.common.utils.Md5Utils; import com.ruoyi.common.constant.CommonConstant;
import com.ruoyi.project.shiro.common.utils.MessageUtils; import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException; import com.ruoyi.common.exception.user.UserPasswordRetryLimitExceedException;
import com.ruoyi.project.shiro.exception.user.UserPasswordRetryLimitExceedException; import com.ruoyi.common.utils.Md5Utils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.SystemLogUtils;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
import com.ruoyi.project.util.SystemLogUtils;
/** /**
* 登录密码方法 * 登录密码方法

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.session; package com.ruoyi.framework.shiro.session;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -9,10 +9,11 @@ import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO; import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import com.ruoyi.project.system.online.domain.OnlineSession;
import com.ruoyi.project.system.online.domain.UserOnline; import com.ruoyi.common.utils.HttpContextUtils;
import com.ruoyi.project.system.online.service.IUserOnlineService; import com.ruoyi.project.monitor.online.domain.OnlineSession;
import com.ruoyi.project.util.HttpContextUtils; import com.ruoyi.project.monitor.online.domain.UserOnline;
import com.ruoyi.project.monitor.online.service.IUserOnlineService;
/** /**
* 针对自定义的ShiroSession的db操作 * 针对自定义的ShiroSession的db操作

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.session; package com.ruoyi.framework.shiro.session;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.session.Session; import org.apache.shiro.session.Session;
@ -6,12 +6,12 @@ import org.apache.shiro.session.mgt.SessionContext;
import org.apache.shiro.session.mgt.SessionFactory; import org.apache.shiro.session.mgt.SessionFactory;
import org.apache.shiro.web.session.mgt.WebSessionContext; import org.apache.shiro.web.session.mgt.WebSessionContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.HttpContextUtils;
import com.ruoyi.common.utils.IpUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.monitor.online.domain.OnlineSession;
import com.ruoyi.project.monitor.online.domain.UserOnline;
import com.ruoyi.common.tools.StringTools;
import com.ruoyi.project.shiro.common.utils.IpUtils;
import com.ruoyi.project.system.online.domain.OnlineSession;
import com.ruoyi.project.system.online.domain.UserOnline;
import com.ruoyi.project.util.HttpContextUtils;
import eu.bitwalker.useragentutils.UserAgent; import eu.bitwalker.useragentutils.UserAgent;
/** /**
@ -25,7 +25,7 @@ public class OnlineSessionFactory implements SessionFactory
public Session createSession(UserOnline userOnline) public Session createSession(UserOnline userOnline)
{ {
OnlineSession onlineSession = userOnline.getSession(); OnlineSession onlineSession = userOnline.getSession();
if (StringTools.isNotNull(onlineSession) && onlineSession.getId() == null) if (StringUtils.isNotNull(onlineSession) && onlineSession.getId() == null)
{ {
onlineSession.setId(userOnline.getSessionId()); onlineSession.setId(userOnline.getSessionId());
} }

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.web.filter.online; package com.ruoyi.framework.shiro.web.filter.online;
import java.io.IOException; import java.io.IOException;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
@ -9,10 +9,11 @@ import org.apache.shiro.web.filter.AccessControlFilter;
import org.apache.shiro.web.util.WebUtils; import org.apache.shiro.web.util.WebUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import com.ruoyi.common.constant.ShiroConstants;
import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.project.shiro.ShiroConstants; import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
import com.ruoyi.project.shiro.session.OnlineSessionDAO; import com.ruoyi.project.monitor.online.domain.OnlineSession;
import com.ruoyi.project.system.online.domain.OnlineSession;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
/** /**

View File

@ -1,12 +1,13 @@
package com.ruoyi.project.shiro.web.filter.sync; package com.ruoyi.framework.shiro.web.filter.sync;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; import javax.servlet.ServletResponse;
import org.apache.shiro.web.filter.PathMatchingFilter; import org.apache.shiro.web.filter.PathMatchingFilter;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.ruoyi.project.shiro.ShiroConstants;
import com.ruoyi.project.shiro.session.OnlineSessionDAO; import com.ruoyi.common.constant.ShiroConstants;
import com.ruoyi.project.system.online.domain.OnlineSession; import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
import com.ruoyi.project.monitor.online.domain.OnlineSession;
/** /**
* 同步Session数据到Db * 同步Session数据到Db

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.web.session; package com.ruoyi.framework.shiro.web.session;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@ -11,11 +11,13 @@ import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.DefaultSessionKey; import org.apache.shiro.session.mgt.DefaultSessionKey;
import org.apache.shiro.session.mgt.SessionKey; import org.apache.shiro.session.mgt.SessionKey;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import com.ruoyi.common.constant.ShiroConstants;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.project.shiro.ShiroConstants; import com.ruoyi.project.monitor.online.domain.OnlineSession;
import com.ruoyi.project.system.online.domain.OnlineSession; import com.ruoyi.project.monitor.online.domain.UserOnline;
import com.ruoyi.project.system.online.domain.UserOnline; import com.ruoyi.project.monitor.online.service.UserOnlineServiceImpl;
import com.ruoyi.project.system.online.service.UserOnlineServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.shiro.web.session; package com.ruoyi.framework.shiro.web.session;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;

View File

@ -1,7 +1,6 @@
package com.ruoyi.project.system.online.controller; package com.ruoyi.project.monitor.online.controller;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
@ -10,14 +9,13 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.tools.StringTools;
import com.ruoyi.framework.core.controller.BaseController; import com.ruoyi.framework.core.controller.BaseController;
import com.ruoyi.framework.core.domain.R; import com.ruoyi.framework.core.domain.R;
import com.ruoyi.project.shiro.session.OnlineSessionDAO; import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
import com.ruoyi.project.system.online.domain.OnlineSession; import com.ruoyi.project.monitor.online.domain.OnlineSession;
import com.ruoyi.project.system.online.domain.UserOnline; import com.ruoyi.project.monitor.online.domain.UserOnline;
import com.ruoyi.project.system.online.service.IUserOnlineService; import com.ruoyi.project.monitor.online.service.IUserOnlineService;
@Controller @Controller
@RequestMapping("/monitor/online") @RequestMapping("/monitor/online")
@ -66,7 +64,7 @@ public class UserOnlineController extends BaseController
catch (Exception e) catch (Exception e)
{ {
String msg = "未知错误"; String msg = "未知错误";
if (StringTools.isNotEmpty(e.getMessage())) if (StringUtils.isNotEmpty(e.getMessage()))
{ {
msg = e.getMessage(); msg = e.getMessage();
} }

View File

@ -1,7 +1,8 @@
package com.ruoyi.project.system.online.dao; package com.ruoyi.project.monitor.online.dao;
import java.util.List; import java.util.List;
import com.ruoyi.project.system.online.domain.UserOnline;
import com.ruoyi.project.monitor.online.domain.UserOnline;
public interface IUserOnlineDao public interface IUserOnlineDao
{ {

View File

@ -1,9 +1,9 @@
package com.ruoyi.project.system.online.dao; package com.ruoyi.project.monitor.online.dao;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.ruoyi.framework.core.dao.DynamicObjectBaseDao; import com.ruoyi.framework.core.dao.DynamicObjectBaseDao;
import com.ruoyi.project.system.online.domain.UserOnline; import com.ruoyi.project.monitor.online.domain.UserOnline;
@Repository("userOnlineDao") @Repository("userOnlineDao")
public class UserOnlineDaoImpl extends DynamicObjectBaseDao implements IUserOnlineDao public class UserOnlineDaoImpl extends DynamicObjectBaseDao implements IUserOnlineDao

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.system.online.domain; package com.ruoyi.project.monitor.online.domain;
import org.apache.shiro.session.mgt.SimpleSession; import org.apache.shiro.session.mgt.SimpleSession;

View File

@ -1,8 +1,10 @@
package com.ruoyi.project.system.online.domain; package com.ruoyi.project.monitor.online.domain;
import java.util.Date; import java.util.Date;
import com.ruoyi.project.monitor.online.domain.OnlineSession.OnlineStatus;
import lombok.Data; import lombok.Data;
import com.ruoyi.project.system.online.domain.OnlineSession.OnlineStatus;
/** /**
* 当前在线会话 sys_user_online * 当前在线会话 sys_user_online

View File

@ -1,8 +1,9 @@
package com.ruoyi.project.system.online.service; package com.ruoyi.project.monitor.online.service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.ruoyi.project.system.online.domain.UserOnline;
import com.ruoyi.project.monitor.online.domain.UserOnline;
public interface IUserOnlineService public interface IUserOnlineService
{ {

View File

@ -1,4 +1,4 @@
package com.ruoyi.project.system.online.service; package com.ruoyi.project.monitor.online.service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -7,10 +7,10 @@ import org.apache.shiro.session.Session;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.common.tools.DateTools; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.project.shiro.session.OnlineSessionDAO; import com.ruoyi.framework.shiro.session.OnlineSessionDAO;
import com.ruoyi.project.system.online.dao.IUserOnlineDao; import com.ruoyi.project.monitor.online.dao.IUserOnlineDao;
import com.ruoyi.project.system.online.domain.UserOnline; import com.ruoyi.project.monitor.online.domain.UserOnline;
@Service("userOnlineService") @Service("userOnlineService")
public class UserOnlineServiceImpl implements IUserOnlineService public class UserOnlineServiceImpl implements IUserOnlineService
@ -115,7 +115,7 @@ public class UserOnlineServiceImpl implements IUserOnlineService
@Override @Override
public List<UserOnline> selectByOnlineExpired(Date expiredDate) public List<UserOnline> selectByOnlineExpired(Date expiredDate)
{ {
String lastAccessTime = DateTools.dateTime("yyyy-MM-dd HH:mm:ss", expiredDate); String lastAccessTime = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", expiredDate);
return userOnlineDao.selectByOnlineExpired(lastAccessTime); return userOnlineDao.selectByOnlineExpired(lastAccessTime);
} }
} }

View File

@ -1,50 +0,0 @@
package com.ruoyi.project.shiro.common.utils;
import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.ruoyi.project.shiro.ShiroConstants;
import com.ruoyi.project.system.user.domain.User;
/**
* 通用Session处理方法
*
* @author yangzz
*/
public class SessionUtils
{
/**
* 得到session用户对象
*/
public static User getCurrentUser()
{
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
User user = (User) session.getAttribute(ShiroConstants.CURRENT_USER);
return user;
}
/**
* 获取request信息
*/
public static Object getRequestAttribute(String key)
{
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
.getRequest();
return request.getAttribute(key);
}
/**
* 得到session obj对象
*/
public static Session getSession()
{
Subject currentUser = SecurityUtils.getSubject();
return currentUser.getSession();
}
}

View File

@ -6,15 +6,12 @@ import java.util.HashSet;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.tools.StringTools; import com.ruoyi.common.utils.TreeUtils;
import com.ruoyi.project.system.menu.dao.IMenuDao; import com.ruoyi.project.system.menu.dao.IMenuDao;
import com.ruoyi.project.system.menu.domain.Menu; import com.ruoyi.project.system.menu.domain.Menu;
import com.ruoyi.project.util.TreeUtil;
/** /**
* 菜单 业务层处理 * 菜单 业务层处理
@ -39,7 +36,7 @@ public class MenuServiceImpl implements IMenuService
public List<Menu> selectMenusByUserId(Long userId) public List<Menu> selectMenusByUserId(Long userId)
{ {
List<Menu> menus = menuDao.selectMenusByUserId(userId); List<Menu> menus = menuDao.selectMenusByUserId(userId);
return TreeUtil.getChildPerms(menus, 0); return TreeUtils.getChildPerms(menus, 0);
} }
/** /**
@ -55,7 +52,7 @@ public class MenuServiceImpl implements IMenuService
Set<String> permsSet = new HashSet<>(); Set<String> permsSet = new HashSet<>();
for (String perm : perms) for (String perm : perms)
{ {
if (StringUtils.isNotBlank(perm)) if (StringUtils.isNotEmpty(perm))
{ {
permsSet.addAll(Arrays.asList(perm.trim().split(","))); permsSet.addAll(Arrays.asList(perm.trim().split(",")));
} }
@ -73,7 +70,7 @@ public class MenuServiceImpl implements IMenuService
{ {
LinkedHashMap<String, String> section = new LinkedHashMap<>(); LinkedHashMap<String, String> section = new LinkedHashMap<>();
List<Menu> permissions = menuDao.selectPermsAll(); List<Menu> permissions = menuDao.selectPermsAll();
if (StringTools.isNotEmpty(permissions)) if (StringUtils.isNotEmpty(permissions))
{ {
for (Menu menu : permissions) for (Menu menu : permissions)
{ {

View File

@ -8,7 +8,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.tools.StringTools; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.core.controller.BaseController; import com.ruoyi.framework.core.controller.BaseController;
import com.ruoyi.framework.core.domain.R; import com.ruoyi.framework.core.domain.R;
@ -42,7 +42,7 @@ public class LoginController extends BaseController
catch (AuthenticationException e) catch (AuthenticationException e)
{ {
String msg = "用户或密码错误"; String msg = "用户或密码错误";
if (StringTools.isNotEmpty(e.getMessage())) if (StringUtils.isNotEmpty(e.getMessage()))
{ {
msg = e.getMessage(); msg = e.getMessage();
} }

View File

@ -9,8 +9,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.utils.TableDataInfo;
import com.ruoyi.framework.core.controller.BaseController; import com.ruoyi.framework.core.controller.BaseController;
import com.ruoyi.framework.page.TableDataInfo;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
import com.ruoyi.project.system.user.service.IUserService; import com.ruoyi.project.system.user.service.IUserService;

View File

@ -1,7 +1,8 @@
package com.ruoyi.project.system.user.dao; package com.ruoyi.project.system.user.dao;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.PageUtilEntity;
import com.ruoyi.framework.page.PageUtilEntity;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
/** /**

View File

@ -4,8 +4,8 @@ import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.ruoyi.common.utils.PageUtilEntity;
import com.ruoyi.framework.core.dao.DynamicObjectBaseDao; import com.ruoyi.framework.core.dao.DynamicObjectBaseDao;
import com.ruoyi.framework.page.PageUtilEntity;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
/** /**

View File

@ -1,7 +1,8 @@
package com.ruoyi.project.system.user.service; package com.ruoyi.project.system.user.service;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.PageUtilEntity;
import com.ruoyi.framework.page.PageUtilEntity;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;
/** /**

View File

@ -3,7 +3,8 @@ package com.ruoyi.project.system.user.service;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.PageUtilEntity;
import com.ruoyi.framework.page.PageUtilEntity;
import com.ruoyi.project.system.user.dao.IUserDao; import com.ruoyi.project.system.user.dao.IUserDao;
import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.domain.User;

View File

@ -28,7 +28,7 @@ spring:
# MyBatis # MyBatis
mybatis: mybatis:
# 搜索指定包别名 # 搜索指定包别名
typeAliasesPackage: com.ruoyi.project.system typeAliasesPackage: com.ruoyi.project
# 配置mapper的扫描找到所有的mapper.xml映射文件 # 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath:mybatis/**/*Mapper.xml mapperLocations: classpath:mybatis/**/*Mapper.xml
# 加载全局的配置文件 # 加载全局的配置文件