redis 缓存session 可实现集群

This commit is contained in:
meng 2020-04-19 22:02:14 +08:00
parent 764c798abb
commit cfbabe672e
6 changed files with 476 additions and 478 deletions

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
@ -12,7 +13,7 @@ import java.util.Date;
* @date 2019-11-12.
*/
@Data
public class AbstractEntity {
public class AbstractEntity implements Serializable {
@TableId(type = IdType.UUID)
private String id;

View File

@ -1,23 +1,19 @@
package com.len.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.len.base.AbstractEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@TableName("sys_menu")
@Data
@ToString
@EqualsAndHashCode
public class SysMenu extends AbstractEntity {
public class SysMenu extends AbstractEntity implements Serializable {
private String name;

View File

@ -197,7 +197,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUser, String> impleme
List<SysMenu> menuList = menuService.getUserMenu(s.getId());
JSONArray json = menuService.getMenuJsonByUser(menuList);
session.setAttribute("menu", json.toJSONString());
session.setAttribute("menu",json );
List<CurrentMenu> currentMenuList = new ArrayList<>();

View File

@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>len-web</artifactId>
<name>len-web Maven Webapp</name>
<name>len-web</name>
<url>http://maven.apache.org</url>
<packaging>jar</packaging>

View File

@ -23,15 +23,10 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.web.filter.DelegatingFilterProxy;
import javax.servlet.Filter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author zhuxiaomeng
@ -39,6 +34,8 @@ import java.util.Map;
* @email 154040976@qq.com
* spring shiro
* 元旦快乐code everybody
* <p>
* 2020/4/19 添加redis缓存支持集群 默认redis缓存如果单机配置可放开下面 ehcache
*/
@Configuration
public class ShiroConfig {
@ -67,7 +64,7 @@ public class ShiroConfig {
public BlogRealm blogLoginRealm() {
return new BlogRealm();
}
/*==========ehcache 缓存 begin============*/
/*@Bean
public EhCacheManager getCacheManager() {
EhCacheManager ehCacheManager = new EhCacheManager();
@ -75,6 +72,18 @@ public class ShiroConfig {
return ehCacheManager;
}*/
/* @Bean
public DefaultWebSessionManager defaultWebSessionManager() {
DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager();
defaultWebSessionManager.setSessionIdCookieEnabled(true);
defaultWebSessionManager.setGlobalSessionTimeout(21600000);
defaultWebSessionManager.setDeleteInvalidSessions(true);
defaultWebSessionManager.setSessionValidationSchedulerEnabled(true);
defaultWebSessionManager.setSessionIdUrlRewritingEnabled(false);
return defaultWebSessionManager;
}*/
/*==========ehcache 缓存 end============*/
@Bean
public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
@ -169,16 +178,6 @@ public class ShiroConfig {
return as;
}
/* @Bean
public DefaultWebSessionManager defaultWebSessionManager() {
DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager();
defaultWebSessionManager.setSessionIdCookieEnabled(true);
defaultWebSessionManager.setGlobalSessionTimeout(21600000);
defaultWebSessionManager.setDeleteInvalidSessions(true);
defaultWebSessionManager.setSessionValidationSchedulerEnabled(true);
defaultWebSessionManager.setSessionIdUrlRewritingEnabled(false);
return defaultWebSessionManager;
}*/
@Bean
public FilterRegistrationBean delegatingFilterProxy() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
@ -193,13 +192,15 @@ public class ShiroConfig {
public RedisCacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager();
redisCacheManager.setRedisManager(redisManager());
redisCacheManager.setPrincipalIdFieldName("id");
return redisCacheManager;
}
private RedisManager redisManager() {
RedisManager redisManager = new RedisManager();
// redisManager.setHost(redisConfig.getHost());
// redisManager.setPort(redisConfig.getPort());
redisManager.setExpire(1800);
// redisManager.setExpire(1800);
// redisManager.setTimeout(redisConfig.getTimeout());
return redisManager;
}

12
pom.xml
View File

@ -206,14 +206,14 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.3.2</version>
<version>1.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-aspectj -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-aspectj</artifactId>
<version>1.4.0</version>
<version>1.5.2</version>
</dependency>
@ -228,7 +228,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.3.2</version>
<version>1.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
@ -247,7 +247,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.3.2</version>
<version>1.5.2</version>
</dependency>
<dependency>
@ -368,13 +368,13 @@
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.1.2.RELEASE</version>
<version>2.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.crazycake</groupId>
<artifactId>shiro-redis</artifactId>
<version>2.4.2.1-RELEASE</version>
<version>3.2.3</version>
</dependency>