Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
|
760bb92479 | |
|
cc6212a050 | |
|
2621e03020 | |
|
82693a8b0b | |
|
2aaba301d9 | |
|
8597367453 | |
|
2735f56d83 | |
|
9fd983ec5c |
|
@ -7,6 +7,7 @@
|
|||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="spring-security" />
|
||||
<module name="model" />
|
||||
<module name="common-util" />
|
||||
<module name="service-oa" />
|
||||
|
@ -22,6 +23,7 @@
|
|||
<module name="model" options="-parameters" />
|
||||
<module name="service-oa" options="-parameters" />
|
||||
<module name="service-util" options="-parameters" />
|
||||
<module name="spring-security" options="-parameters" />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -7,6 +7,7 @@
|
|||
<file url="file://$PROJECT_DIR$/common/service-util/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/service-util/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/service-util/src/main/resources-filtered" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/spring-security/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/common/src/main/resources-filtered" charset="UTF-8" />
|
||||
|
|
|
@ -19,12 +19,13 @@
|
|||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<groupId>com.atguigu</groupId>
|
||||
<artifactId>model</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt</artifactId>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
@ -34,5 +35,10 @@
|
|||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>2.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -14,7 +14,7 @@ public enum ResultCodeEnum {
|
|||
DATA_ERROR(204, "数据异常"),
|
||||
|
||||
LOGIN_AUTH(208, "未登陆"),
|
||||
PERMISSION(209, "没有权限");
|
||||
PERMISSION(209, "没有权限"), LOGIN_MOBLE_ERROR(204, "登录错误");
|
||||
|
||||
private final Integer code;
|
||||
private final String message;
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package com.atguigu.common.utlis;
|
||||
|
||||
public class BaseContext {
|
||||
private static final ThreadLocal<Long> userId = new ThreadLocal<Long>();
|
||||
private static final ThreadLocal<String> username = new ThreadLocal<String>();
|
||||
|
||||
public static Long getUserId() {
|
||||
return userId.get();
|
||||
}
|
||||
|
||||
public static void setUserId(Long _userId) {
|
||||
userId.set(_userId);
|
||||
}
|
||||
|
||||
public static void removeUserId() {
|
||||
userId.remove();
|
||||
}
|
||||
|
||||
public static String getUsername() {
|
||||
return username.get();
|
||||
}
|
||||
|
||||
public static void setUsername(String _username) {
|
||||
username.set(_username);
|
||||
}
|
||||
|
||||
public static void removeUsername() {
|
||||
username.remove();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.atguigu.common.utlis;
|
||||
|
||||
import io.jsonwebtoken.*;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class JwtHelper {
|
||||
private static final long tokenExpiration = 365L * 24 * 60 * 60 * 1000;
|
||||
private static final String tokenSignKey = "guigu-OA";
|
||||
|
||||
public static String createToken(Long userId, String userName) {
|
||||
return Jwts.builder()
|
||||
.setSubject("OA-USER")
|
||||
.setExpiration(new Date(System.currentTimeMillis() + tokenExpiration))
|
||||
.claim("userId", userId)
|
||||
.claim("userName", userName)
|
||||
.signWith(SignatureAlgorithm.HS256, tokenSignKey)
|
||||
.compressWith(CompressionCodecs.GZIP)
|
||||
.compact();
|
||||
}
|
||||
|
||||
public static Long getUserId(String token) {
|
||||
if (StringUtils.isEmpty(token)) return null;
|
||||
|
||||
Jws<Claims> claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
|
||||
Claims claims = claimsJws.getBody();
|
||||
Integer userId = (Integer) claims.get("userId");
|
||||
return userId.longValue();
|
||||
// return 1L;
|
||||
}
|
||||
|
||||
public static String getUserName(String token) {
|
||||
if (StringUtils.isEmpty(token)) return "";
|
||||
|
||||
Jws<Claims> claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
|
||||
Claims claims = claimsJws.getBody();
|
||||
return (String) claims.get("userName");
|
||||
}
|
||||
|
||||
public static void removeToken(String token) {
|
||||
// jwttoken无需删除,客户端扔掉即可。
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String token = JwtHelper.createToken(7L, "admin");
|
||||
System.out.println(token);
|
||||
System.out.println(JwtHelper.getUserId(token));
|
||||
System.out.println(JwtHelper.getUserName(token));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
package com.atguigu.common.utlis;
|
||||
|
||||
import com.atguigu.model.system.SysMenu;
|
||||
import com.atguigu.vo.system.MetaVo;
|
||||
import com.atguigu.vo.system.RouterVo;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class MenuHelper {
|
||||
/**
|
||||
* 构建树型结构
|
||||
*
|
||||
* @param sysMenuList 系统菜单列表
|
||||
* @return 菜单结构列表
|
||||
*/
|
||||
public static List<SysMenu> buildTree(List<SysMenu> sysMenuList) {
|
||||
ArrayList<SysMenu> tress = new ArrayList<>();
|
||||
// 把菜单数据进行遍历
|
||||
sysMenuList.forEach(sysMenu -> {
|
||||
if (sysMenu.getParentId() == 0) tress.add(getChildren(sysMenu, sysMenuList));
|
||||
});
|
||||
return tress;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建递归循环
|
||||
*
|
||||
* @param sysMenu 当前菜单对象
|
||||
* @param sysMenuList 全部菜单列表
|
||||
* @return 菜单
|
||||
*/
|
||||
private static SysMenu getChildren(SysMenu sysMenu, List<SysMenu> sysMenuList) {
|
||||
// 遍历所有菜单数据,判断id和parentID对应关系
|
||||
sysMenu.setChildren(new ArrayList<>());
|
||||
|
||||
sysMenuList.forEach(menu -> {
|
||||
if (menu.getChildren() == null) menu.setChildren(new ArrayList<>());
|
||||
if (sysMenu.getId().equals(menu.getParentId())) {
|
||||
sysMenu.getChildren().add(getChildren(menu, sysMenuList));
|
||||
}
|
||||
});
|
||||
|
||||
return sysMenu;
|
||||
}
|
||||
|
||||
/**
|
||||
* 封装路由菜单
|
||||
*
|
||||
* @param menuTreeList 菜单树型结构
|
||||
* @return 路由菜单列表
|
||||
*/
|
||||
public static List<RouterVo> buildRouter(List<SysMenu> menuTreeList) {
|
||||
List<RouterVo> routers = new LinkedList<>();
|
||||
menuTreeList.forEach(menu -> {
|
||||
RouterVo router = new RouterVo();
|
||||
router.setHidden(false);
|
||||
router.setAlwaysShow(false);
|
||||
router.setPath(getRouterPath(menu));
|
||||
router.setComponent(menu.getComponent());
|
||||
router.setMeta(new MetaVo(menu.getName(), menu.getIcon()));
|
||||
List<SysMenu> children = menu.getChildren();
|
||||
// 如果当前是菜单,需将按钮对应的路由加载出来,如:“角色授权”按钮对应的路由在“系统管理”下面
|
||||
if (menu.getType() == 1) {
|
||||
List<SysMenu> hiddenMenuList = children.stream().filter(item -> !StringUtils.isEmpty(item.getComponent())).collect(Collectors.toList());
|
||||
for (SysMenu hiddenMenu : hiddenMenuList) {
|
||||
RouterVo hiddenRouter = new RouterVo();
|
||||
hiddenRouter.setHidden(true);
|
||||
hiddenRouter.setAlwaysShow(false);
|
||||
hiddenRouter.setPath(getRouterPath(hiddenMenu));
|
||||
hiddenRouter.setComponent(hiddenMenu.getComponent());
|
||||
hiddenRouter.setMeta(new MetaVo(hiddenMenu.getName(), hiddenMenu.getIcon()));
|
||||
routers.add(hiddenRouter);
|
||||
}
|
||||
} else {
|
||||
if (!CollectionUtils.isEmpty(children)) {
|
||||
router.setAlwaysShow(true);
|
||||
router.setChildren(buildRouter(children));
|
||||
}
|
||||
}
|
||||
routers.add(router);
|
||||
});
|
||||
return routers;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取路由地址
|
||||
*
|
||||
* @param menu 菜单信息
|
||||
* @return 路由地址
|
||||
*/
|
||||
private static String getRouterPath(SysMenu menu) {
|
||||
String routerPath = "/" + menu.getPath();
|
||||
if (menu.getParentId().intValue() != 0) {
|
||||
routerPath = menu.getPath();
|
||||
}
|
||||
return routerPath;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.atguigu.common.utlis;
|
||||
|
||||
import com.atguigu.common.result.Result;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ResponseUtil {
|
||||
|
||||
public static void out(HttpServletResponse response, Result r) {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
response.setStatus(HttpStatus.OK.value());
|
||||
response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
|
||||
try {
|
||||
mapper.writeValue(response.getWriter(), r);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
|
@ -21,6 +21,9 @@
|
|||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -46,5 +46,22 @@
|
|||
<artifactId>velocity-engine-core</artifactId>
|
||||
<version>2.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- redis -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<!-- redisson 分布式锁-->
|
||||
<dependency>
|
||||
<groupId>org.redisson</groupId>
|
||||
<artifactId>redisson</artifactId>
|
||||
<version>3.11.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-redis</artifactId>
|
||||
<version>3.2.4</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -55,7 +55,7 @@ public class CodeGet {
|
|||
private static StrategyConfig getStrategyConfig() {
|
||||
StrategyConfig strategy = new StrategyConfig();
|
||||
// TODO 要生成的表
|
||||
strategy.setInclude("sys_user", "sys_role","sys_user_role");
|
||||
strategy.setInclude("sys_menu", "sys_role_menu");
|
||||
strategy.setNaming(NamingStrategy.underline_to_camel);// 数据库表映射到实体的命名策略
|
||||
strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 数据库表字段映射到实体的命名策略
|
||||
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
package com.atguigu.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.cache.RedisCacheConfiguration;
|
||||
import org.springframework.data.redis.cache.RedisCacheManager;
|
||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
|
||||
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
||||
import org.springframework.data.redis.serializer.RedisSerializationContext;
|
||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class RedisConfiguration {
|
||||
/**
|
||||
* 使用StringRedisSerializer序列化为字符串
|
||||
*/
|
||||
@Bean
|
||||
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
|
||||
log.info("RedisConfiguration===>使用StringRedisSerializer序列化为字符串");
|
||||
|
||||
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
|
||||
redisTemplate.setConnectionFactory(connectionFactory);
|
||||
// 设置key序列化为string
|
||||
redisTemplate.setKeySerializer(new StringRedisSerializer());
|
||||
// 设置value序列化为JSON,使用GenericJackson2JsonRedisSerializer替换默认序列化
|
||||
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
|
||||
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
|
||||
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
|
||||
|
||||
return redisTemplate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解决cache(@Cacheable)把数据缓存到redis中的value是乱码问题
|
||||
*/
|
||||
@Bean
|
||||
@SuppressWarnings("all")
|
||||
public CacheManager cacheManager(RedisConnectionFactory factory) {
|
||||
log.info("RedisConfiguration===>解决cache(@Cacheable)把数据缓存到redis中的value是乱码问题");
|
||||
|
||||
// 配置序列化
|
||||
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
|
||||
config.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
|
||||
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jsonRedisSerializer()))
|
||||
.entryTtl(Duration.ofDays(365));
|
||||
|
||||
RedisCacheManager cacheManager = RedisCacheManager.builder(factory)
|
||||
.cacheDefaults(config).build();
|
||||
return cacheManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定的日期模式
|
||||
*/
|
||||
public Jackson2JsonRedisSerializer<Object> jsonRedisSerializer() {
|
||||
log.info("RedisConfiguration===>指定的日期模式");
|
||||
|
||||
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
// 设置ObjectMapper访问权限
|
||||
mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
||||
// 记录序列化之后的数据类型,方便反序列化
|
||||
mapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
|
||||
// LocalDatetime序列化,默认不兼容jdk8日期序列化
|
||||
JavaTimeModule timeModule = new JavaTimeModule();
|
||||
timeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
timeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
|
||||
timeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
timeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
// 关闭默认的日期格式化方式,默认UTC日期格式 yyyy-MM-dd’T’HH:mm:ss.SSS
|
||||
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
mapper.registerModule(timeModule);
|
||||
|
||||
serializer.setObjectMapper(mapper);
|
||||
return serializer;
|
||||
}
|
||||
}
|
|
@ -32,7 +32,5 @@ public class MessageConstant {
|
|||
public static final String LOGIN_DTO_IS_EMPTY = "登录参数不能为空";
|
||||
public static final String TOKEN_IS_EMPTY = "token为空";
|
||||
public static final String DATA_IS_EMPTY = "数据为空";
|
||||
public static final String STOCK_LESS = "库存不足";
|
||||
public static final String SKU_NUM_CANNOT_BE_LESS = "商品数量不能再少了";
|
||||
public static final String CART_IS_EMPTY = "购物车为空";
|
||||
public static final String DELETE_MENU_ERROR_HAS_MENUS = "有下级菜单";
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,52 @@
|
|||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.atguigu</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>spring-security</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>spring-security</name>
|
||||
<url>https://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.atguigu</groupId>
|
||||
<artifactId>common-util</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!-- Spring Security依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<!-- redis -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<!-- redisson 分布式锁-->
|
||||
<dependency>
|
||||
<groupId>org.redisson</groupId>
|
||||
<artifactId>redisson</artifactId>
|
||||
<version>3.11.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-redis</artifactId>
|
||||
<version>3.2.4</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -0,0 +1,75 @@
|
|||
package com.atguigu.security.config;
|
||||
|
||||
import com.atguigu.security.custom.CustomMd5PasswordEncoder;
|
||||
import com.atguigu.security.filter.TokenAuthenticationFilter;
|
||||
import com.atguigu.security.filter.TokenLoginFilter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||
import org.springframework.security.config.http.SessionCreationPolicy;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity //@EnableWebSecurity是开启SpringSecurity的默认行为
|
||||
@EnableGlobalMethodSecurity(prePostEnabled = true)
|
||||
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
@Autowired
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
@Autowired
|
||||
private UserDetailsService userDetailsService;
|
||||
@Autowired
|
||||
private CustomMd5PasswordEncoder customMd5PasswordEncoder;
|
||||
|
||||
@Bean
|
||||
@Override
|
||||
protected AuthenticationManager authenticationManager() throws Exception {
|
||||
return super.authenticationManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity http) throws Exception {
|
||||
// 这是配置的关键,决定哪些接口开启防护,哪些接口绕过防护
|
||||
http.csrf().disable() // 关闭csrf跨站请求伪造
|
||||
.cors().and()// 开启跨域以便前端调用接口
|
||||
.authorizeRequests()
|
||||
// 指定某些接口不需要通过验证即可访问。登陆接口肯定是不需要认证的
|
||||
.antMatchers("/admin/system/index/login").permitAll()
|
||||
// 这里意思是其它所有接口需要认证才能访问
|
||||
.anyRequest().authenticated()
|
||||
.and()
|
||||
// TokenAuthenticationFilter放到UsernamePasswordAuthenticationFilter的前面
|
||||
// 这样做就是为了除了登录的时候去查询数据库外,其他时候都用token进行认证。
|
||||
.addFilterBefore(new TokenAuthenticationFilter(redisTemplate), UsernamePasswordAuthenticationFilter.class)
|
||||
.addFilter(new TokenLoginFilter(authenticationManager(), redisTemplate));
|
||||
|
||||
// 禁用session
|
||||
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
||||
// 指定UserDetailService和加密器
|
||||
auth.userDetailsService(userDetailsService).passwordEncoder(customMd5PasswordEncoder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置哪些请求不拦截
|
||||
* 排除swagger相关请求
|
||||
*/
|
||||
@Override
|
||||
public void configure(WebSecurity web) throws Exception {
|
||||
web.ignoring().antMatchers("/admin/modeler/**", "/diagram-viewer/**", "/editor-app/**", "/*.html",
|
||||
"/admin/processImage/**",
|
||||
"/admin/wechat/authorize", "/admin/wechat/userInfo", "/admin/wechat/bindPhone",
|
||||
"/favicon.ico", "/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**", "/doc.html");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.atguigu.security.custom;
|
||||
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.DigestUtils;
|
||||
|
||||
@Component
|
||||
public class CustomMd5PasswordEncoder implements PasswordEncoder {
|
||||
public String encode(CharSequence rawPassword) {
|
||||
return DigestUtils.md5DigestAsHex(rawPassword.toString().getBytes());
|
||||
}
|
||||
|
||||
public boolean matches(CharSequence rawPassword, String encodedPassword) {
|
||||
return encodedPassword.equals(DigestUtils.md5DigestAsHex(rawPassword.toString().getBytes()));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.atguigu.security.custom;
|
||||
|
||||
import com.atguigu.model.system.SysUser;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public class CustomUser extends User {
|
||||
/**
|
||||
* 我们自己的用户实体对象,要调取用户信息时直接获取这个实体对象。(这里我就不写get/set方法了)
|
||||
*/
|
||||
private SysUser sysUser;
|
||||
|
||||
public CustomUser(SysUser sysUser, Collection<? extends GrantedAuthority> authorities) {
|
||||
super(sysUser.getUsername(), sysUser.getPassword(), authorities);
|
||||
this.sysUser = sysUser;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package com.atguigu.security.filter;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.atguigu.common.result.Result;
|
||||
import com.atguigu.common.result.ResultCodeEnum;
|
||||
import com.atguigu.common.utlis.BaseContext;
|
||||
import com.atguigu.common.utlis.JwtHelper;
|
||||
import com.atguigu.common.utlis.ResponseUtil;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class TokenAuthenticationFilter extends OncePerRequestFilter {
|
||||
|
||||
private final RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
public TokenAuthenticationFilter(RedisTemplate<String, Object> redisTemplate) {
|
||||
this.redisTemplate = redisTemplate;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
FilterChain chain) throws ServletException, IOException {
|
||||
// 如果是登录接口,直接放行
|
||||
if ("/admin/system/index/login".equals(request.getRequestURI())) {
|
||||
chain.doFilter(request, response);
|
||||
return;
|
||||
}
|
||||
|
||||
UsernamePasswordAuthenticationToken authentication = getAuthentication(request);
|
||||
if (null != authentication) {
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
chain.doFilter(request, response);
|
||||
} else {
|
||||
ResponseUtil.out(response, Result.build(null, ResultCodeEnum.LOGIN_MOBLE_ERROR));
|
||||
}
|
||||
}
|
||||
|
||||
private UsernamePasswordAuthenticationToken getAuthentication(HttpServletRequest request) {
|
||||
// 请求头是否有token
|
||||
String token = request.getHeader("token");
|
||||
if (!StringUtils.isEmpty(token)) {
|
||||
String username = JwtHelper.getUserName(token);
|
||||
if (!StringUtils.isEmpty(username)) {
|
||||
// 当前用户信息放到ThreadLocal里面
|
||||
BaseContext.setUserId(JwtHelper.getUserId(token));
|
||||
BaseContext.setUsername(username);
|
||||
|
||||
// 通过username从redis获取权限数据
|
||||
String authString = (String) redisTemplate.opsForValue().get(username);
|
||||
// 把redis获取字符串权限数据转换要求集合类型 List<SimpleGrantedAuthority>
|
||||
if (!StringUtils.isEmpty(authString)) {
|
||||
List<Map> maplist = JSON.parseArray(authString, Map.class);
|
||||
System.out.println(maplist);
|
||||
List<SimpleGrantedAuthority> authList = new ArrayList<>();
|
||||
for (Map map : maplist) {
|
||||
String authority = (String) map.get("authority");
|
||||
authList.add(new SimpleGrantedAuthority(authority));
|
||||
}
|
||||
return new UsernamePasswordAuthenticationToken(username, null, authList);
|
||||
} else {
|
||||
return new UsernamePasswordAuthenticationToken(username, null, new ArrayList<>());
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
package com.atguigu.security.filter;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.atguigu.common.result.Result;
|
||||
import com.atguigu.common.result.ResultCodeEnum;
|
||||
import com.atguigu.common.utlis.JwtHelper;
|
||||
import com.atguigu.common.utlis.ResponseUtil;
|
||||
import com.atguigu.security.custom.CustomUser;
|
||||
import com.atguigu.vo.system.LoginVo;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TokenLoginFilter extends UsernamePasswordAuthenticationFilter {
|
||||
private final RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
// 构造方法
|
||||
public TokenLoginFilter(AuthenticationManager authenticationManager,
|
||||
RedisTemplate<String, Object> redisTemplate) {
|
||||
this.setAuthenticationManager(authenticationManager);
|
||||
this.setPostOnly(false);
|
||||
// 指定登录接口及提交方式,可以指定任意路径
|
||||
this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/admin/system/index/login", "POST"));
|
||||
this.redisTemplate = redisTemplate;
|
||||
}
|
||||
|
||||
// 登录认证
|
||||
// 获取输入的用户名和密码,调用方法认证
|
||||
public Authentication attemptAuthentication(HttpServletRequest request,
|
||||
HttpServletResponse response)
|
||||
throws AuthenticationException {
|
||||
try {
|
||||
// 获取用户信息
|
||||
LoginVo loginVo = new ObjectMapper().readValue(request.getInputStream(), LoginVo.class);
|
||||
// 封装对象
|
||||
Authentication authenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(loginVo.getUsername(), loginVo.getPassword());
|
||||
// 调用方法
|
||||
return this.getAuthenticationManager().authenticate(authenticationToken);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
// 认证成功调用方法
|
||||
protected void successfulAuthentication(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
FilterChain chain,
|
||||
Authentication auth) {
|
||||
// 获取当前用户
|
||||
CustomUser customUser = (CustomUser) auth.getPrincipal();
|
||||
// 生成token
|
||||
String token = JwtHelper.createToken(customUser.getSysUser().getId(),
|
||||
customUser.getSysUser().getUsername());
|
||||
|
||||
// 获取当前用户权限数据,放到Redis里面 key:username value:权限数据
|
||||
redisTemplate.opsForValue().set(customUser.getUsername(),
|
||||
JSON.toJSONString(customUser.getAuthorities()));
|
||||
|
||||
// 返回
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("token", token);
|
||||
ResponseUtil.out(response, Result.success(map));
|
||||
}
|
||||
|
||||
// 认证失败调用方法
|
||||
protected void unsuccessfulAuthentication(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
AuthenticationException failed) {
|
||||
ResponseUtil.out(response, Result.error(null, ResultCodeEnum.LOGIN_MOBLE_ERROR));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package com.atguigu.security.service;
|
||||
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public interface UserDetailsService extends org.springframework.security.core.userdetails.UserDetailsService {
|
||||
|
||||
/**
|
||||
* 根据用户名获取用户对象(获取不到直接抛异常)
|
||||
*/
|
||||
@Override
|
||||
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
|
||||
}
|
|
@ -1,104 +1,442 @@
|
|||
18:26:31:597 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 21276 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:26:31:598 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:26:32:027 WARN 21276 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:26:32:195 INFO 21276 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:26:32:200 INFO 21276 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:26:32:200 INFO 21276 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:26:32:239 INFO 21276 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:26:32:239 INFO 21276 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 622 ms
|
||||
18:26:32:437 INFO 21276 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:26:32:836 INFO 21276 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:26:32:892 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.512 seconds (JVM running for 1.974)
|
||||
18:27:41:337 INFO 21276 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:27:45:678 INFO 20440 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 20440 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:27:45:680 INFO 20440 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:27:46:090 WARN 20440 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:27:46:245 INFO 20440 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:27:46:249 INFO 20440 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:27:46:249 INFO 20440 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:27:46:284 INFO 20440 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:27:46:284 INFO 20440 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 581 ms
|
||||
18:27:46:478 INFO 20440 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:27:46:859 INFO 20440 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:27:46:901 INFO 20440 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.425 seconds (JVM running for 1.84)
|
||||
18:30:11:824 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 21276 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:30:11:826 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:30:12:276 WARN 21276 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:30:12:444 INFO 21276 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:30:12:447 INFO 21276 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:30:12:447 INFO 21276 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:30:12:486 INFO 21276 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:30:12:486 INFO 21276 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 636 ms
|
||||
18:30:12:671 INFO 21276 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:30:12:708 INFO 21276 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:30:13:102 INFO 21276 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:30:13:161 INFO 21276 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.535 seconds (JVM running for 1.937)
|
||||
18:30:44:868 INFO 21276 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:30:47:412 INFO 7124 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 7124 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:30:47:413 INFO 7124 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:30:47:844 WARN 7124 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:30:48:014 INFO 7124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:30:48:018 INFO 7124 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:30:48:018 INFO 7124 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:30:48:057 INFO 7124 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:30:48:058 INFO 7124 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 623 ms
|
||||
18:30:48:239 INFO 7124 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:30:48:273 INFO 7124 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:30:48:669 INFO 7124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:30:48:728 INFO 7124 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.515 seconds (JVM running for 1.921)
|
||||
18:30:56:985 INFO 7124 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:30:59:550 INFO 21220 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 21220 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:30:59:552 INFO 21220 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:30:59:969 WARN 21220 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:31:00:126 INFO 21220 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:31:00:131 INFO 21220 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:31:00:131 INFO 21220 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:31:00:167 INFO 21220 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:31:00:167 INFO 21220 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 594 ms
|
||||
18:31:00:335 INFO 21220 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:31:00:367 INFO 21220 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:31:00:757 INFO 21220 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:31:00:811 INFO 21220 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.459 seconds (JVM running for 1.87)
|
||||
18:31:12:897 INFO 21220 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:31:14:479 INFO 17940 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 17940 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:31:14:480 INFO 17940 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:31:14:890 WARN 17940 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:31:15:042 INFO 17940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:31:15:045 INFO 17940 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:31:15:045 INFO 17940 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:31:15:080 INFO 17940 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:31:15:081 INFO 17940 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 578 ms
|
||||
18:31:15:243 INFO 17940 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:31:15:274 INFO 17940 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:31:15:665 INFO 17940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:31:15:722 INFO 17940 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.437 seconds (JVM running for 1.865)
|
||||
18:31:21:234 INFO 17940 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:31:22:813 INFO 19156 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 19156 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:31:22:815 INFO 19156 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:31:23:234 WARN 19156 --- [main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.atguigu.*.mapper]' package. Please check your configuration.
|
||||
18:31:23:384 INFO 19156 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:31:23:389 INFO 19156 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:31:23:389 INFO 19156 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:31:23:424 INFO 19156 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:31:23:424 INFO 19156 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 586 ms
|
||||
18:31:23:601 INFO 19156 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:31:23:635 INFO 19156 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:31:24:030 INFO 19156 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:31:24:091 INFO 19156 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.485 seconds (JVM running for 1.914)
|
||||
18:39:42:950 INFO 19156 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
18:39:47:115 INFO 6652 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on bunny with PID 6652 (G:\java项目\guigu-oa-parent\service-oa\target\classes started by 13199 in G:\java项目\guigu-oa-parent)
|
||||
18:39:47:117 INFO 6652 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
18:39:47:718 INFO 6652 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
18:39:47:721 INFO 6652 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
18:39:47:721 INFO 6652 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
18:39:47:756 INFO 6652 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
18:39:47:756 INFO 6652 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 616 ms
|
||||
18:39:47:823 INFO 6652 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
18:39:48:375 INFO 6652 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
18:39:48:456 INFO 6652 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
18:39:48:536 INFO 6652 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 1.644 seconds (JVM running for 2.071)
|
||||
18:39:51:553 INFO 6652 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
18:39:51:553 INFO 6652 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
18:39:51:555 INFO 6652 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
|
||||
18:40:02:303 INFO 6652 --- [http-nio-8800-exec-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
18:40:02:498 INFO 6652 --- [http-nio-8800-exec-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
10:57:28:573 INFO 23128 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 23128 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
10:57:28:578 INFO 23128 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
10:57:29:447 INFO 23128 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
10:57:29:456 INFO 23128 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
10:57:29:456 INFO 23128 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
10:57:29:522 INFO 23128 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
10:57:29:523 INFO 23128 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 910 ms
|
||||
10:57:29:636 INFO 23128 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
10:57:34:099 INFO 23128 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
10:58:06:882 INFO 10532 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 10532 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
10:58:06:884 INFO 10532 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
10:58:07:732 INFO 10532 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
10:58:07:739 INFO 10532 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
10:58:07:739 INFO 10532 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
10:58:07:803 INFO 10532 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
10:58:07:804 INFO 10532 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 885 ms
|
||||
10:58:07:901 INFO 10532 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
10:58:09:408 INFO 10532 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
10:58:09:561 INFO 10532 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
10:58:09:823 INFO 10532 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 3.845 seconds (JVM running for 10.246)
|
||||
10:58:13:632 INFO 10532 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
10:58:13:633 INFO 10532 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
10:58:13:638 INFO 10532 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms
|
||||
10:58:13:721 INFO 10532 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
10:58:14:017 INFO 10532 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
10:58:14:076 ERROR 10532 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:密码错误
|
||||
10:58:35:405 INFO 10532 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
10:58:35:406 INFO 10532 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
10:58:35:411 INFO 10532 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
11:00:10:601 INFO 13876 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 13876 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
11:00:10:603 INFO 13876 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
11:00:11:451 INFO 13876 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
11:00:11:458 INFO 13876 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
11:00:11:458 INFO 13876 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
11:00:11:526 INFO 13876 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
11:00:11:527 INFO 13876 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 892 ms
|
||||
11:00:11:632 INFO 13876 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
11:00:12:236 INFO 13876 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
11:00:12:377 INFO 13876 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
11:00:12:663 INFO 13876 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.309 seconds (JVM running for 8.84)
|
||||
11:00:27:431 INFO 13876 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
11:00:27:431 INFO 13876 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
11:00:27:435 INFO 13876 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
11:00:27:511 INFO 13876 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
11:00:27:826 INFO 13876 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
11:00:27:904 ERROR 13876 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:密码错误
|
||||
11:01:06:213 ERROR 13876 --- [http-nio-8800-exec-2] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:密码错误
|
||||
11:01:25:712 INFO 13876 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
11:01:25:714 INFO 13876 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
11:01:25:718 INFO 13876 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
11:01:29:571 INFO 3564 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 3564 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
11:01:29:574 INFO 3564 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
11:01:30:428 INFO 3564 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
11:01:30:435 INFO 3564 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
11:01:30:435 INFO 3564 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
11:01:30:498 INFO 3564 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
11:01:30:498 INFO 3564 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 889 ms
|
||||
11:01:30:603 INFO 3564 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
11:01:31:166 INFO 3564 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
11:01:31:305 INFO 3564 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
11:01:31:570 INFO 3564 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.257 seconds (JVM running for 2.678)
|
||||
11:01:31:666 INFO 3564 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
11:01:31:667 INFO 3564 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
11:01:31:670 INFO 3564 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
11:01:31:746 INFO 3564 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
11:01:32:079 INFO 3564 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
13:57:38:626 INFO 3564 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
13:57:38:631 INFO 3564 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
13:57:38:635 INFO 3564 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
13:57:42:338 INFO 26572 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 26572 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
13:57:42:341 INFO 26572 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
13:57:43:312 INFO 26572 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
13:57:43:318 INFO 26572 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
13:57:43:319 INFO 26572 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
13:57:43:387 INFO 26572 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
13:57:43:387 INFO 26572 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1002 ms
|
||||
13:57:43:483 INFO 26572 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
13:57:44:165 INFO 26572 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
13:57:44:312 INFO 26572 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
13:57:44:569 INFO 26572 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.527 seconds (JVM running for 2.947)
|
||||
14:01:09:795 INFO 26572 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:01:09:795 INFO 26572 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:01:09:799 INFO 26572 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:02:15:414 INFO 26572 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:02:17:427 INFO 23312 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 23312 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:02:17:429 INFO 23312 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:02:18:248 INFO 23312 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:02:18:254 INFO 23312 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:02:18:255 INFO 23312 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:02:18:313 INFO 23312 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:02:18:313 INFO 23312 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 849 ms
|
||||
14:02:18:422 INFO 23312 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:02:18:976 INFO 23312 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:02:19:111 INFO 23312 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:02:19:385 INFO 23312 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.218 seconds (JVM running for 2.621)
|
||||
14:02:20:403 INFO 23312 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:02:20:404 INFO 23312 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:02:20:408 INFO 23312 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:03:53:148 INFO 23312 --- [http-nio-8800-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:03:53:353 INFO 23312 --- [http-nio-8800-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:03:53:412 ERROR 23312 --- [http-nio-8800-exec-2] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>运行时异常信息:Cannot invoke "java.lang.Long.longValue()" because "userId" is null
|
||||
14:04:15:057 INFO 23312 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:04:15:058 INFO 23312 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:04:15:063 INFO 23312 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:04:18:624 INFO 28848 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 28848 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:04:18:626 INFO 28848 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:04:19:456 INFO 28848 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:04:19:463 INFO 28848 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:04:19:464 INFO 28848 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:04:19:526 INFO 28848 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:04:19:526 INFO 28848 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 867 ms
|
||||
14:04:19:627 INFO 28848 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:04:20:199 INFO 28848 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:04:20:339 INFO 28848 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:04:20:597 INFO 28848 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.22 seconds (JVM running for 2.625)
|
||||
14:04:22:040 INFO 28848 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:04:22:040 INFO 28848 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:04:22:047 INFO 28848 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms
|
||||
14:04:25:916 INFO 28848 --- [http-nio-8800-exec-3] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:04:26:132 INFO 28848 --- [http-nio-8800-exec-3] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:04:26:261 ERROR 28848 --- [http-nio-8800-exec-3] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>运行时异常信息:Cannot invoke "com.atguigu.model.system.SysUser.getName()" because "sysUser" is null
|
||||
14:05:04:704 INFO 28848 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:05:04:706 INFO 28848 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:05:04:710 INFO 28848 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:05:07:171 INFO 17168 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 17168 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:05:07:173 INFO 17168 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:05:07:995 INFO 17168 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:05:08:001 INFO 17168 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:05:08:002 INFO 17168 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:05:08:066 INFO 17168 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:05:08:066 INFO 17168 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 860 ms
|
||||
14:05:08:165 INFO 17168 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:05:08:721 INFO 17168 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:05:08:858 INFO 17168 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:05:09:117 INFO 17168 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.194 seconds (JVM running for 2.599)
|
||||
14:05:10:629 INFO 17168 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:05:10:629 INFO 17168 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:05:10:633 INFO 17168 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:05:10:660 INFO 17168 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:05:10:887 INFO 17168 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:05:10:943 ERROR 17168 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:05:19:090 INFO 17168 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:05:19:091 INFO 17168 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:05:19:096 INFO 17168 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:05:22:449 INFO 22752 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 22752 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:05:22:451 INFO 22752 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:05:23:243 INFO 22752 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:05:23:249 INFO 22752 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:05:23:249 INFO 22752 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:05:23:309 INFO 22752 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:05:23:309 INFO 22752 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 828 ms
|
||||
14:05:23:413 INFO 22752 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:05:23:942 INFO 22752 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:05:24:074 INFO 22752 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:05:24:326 INFO 22752 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.142 seconds (JVM running for 2.553)
|
||||
14:05:31:736 INFO 22752 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:05:31:736 INFO 22752 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:05:31:740 INFO 22752 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:05:31:767 INFO 22752 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:05:31:994 INFO 22752 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:05:32:052 ERROR 22752 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:08:17:323 INFO 22752 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:08:17:325 INFO 22752 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:08:17:330 INFO 22752 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:08:19:772 INFO 16344 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 16344 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:08:19:774 INFO 16344 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:08:20:564 INFO 16344 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:08:20:571 INFO 16344 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:08:20:571 INFO 16344 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:08:20:632 INFO 16344 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:08:20:632 INFO 16344 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 828 ms
|
||||
14:08:20:731 INFO 16344 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:08:21:281 INFO 16344 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:08:21:420 INFO 16344 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:08:21:595 INFO 16344 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:08:21:595 INFO 16344 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:08:21:599 INFO 16344 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:08:21:632 INFO 16344 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:08:21:692 INFO 16344 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.16 seconds (JVM running for 2.542)
|
||||
14:08:21:891 INFO 16344 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:08:21:958 ERROR 16344 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:08:26:584 ERROR 16344 --- [http-nio-8800-exec-2] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:08:30:407 ERROR 16344 --- [http-nio-8800-exec-3] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:08:43:550 INFO 16344 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:08:43:551 INFO 16344 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:08:43:558 INFO 16344 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:08:46:896 INFO 6428 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 6428 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:08:46:898 INFO 6428 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:08:47:714 INFO 6428 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:08:47:720 INFO 6428 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:08:47:720 INFO 6428 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:08:47:777 INFO 6428 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:08:47:777 INFO 6428 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 845 ms
|
||||
14:08:47:882 INFO 6428 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:08:48:461 INFO 6428 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:08:48:607 INFO 6428 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:08:48:871 INFO 6428 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.226 seconds (JVM running for 2.614)
|
||||
14:08:50:600 INFO 6428 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:08:50:600 INFO 6428 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:08:50:604 INFO 6428 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:08:50:633 INFO 6428 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:08:50:843 INFO 6428 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:08:50:901 ERROR 6428 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:08:58:471 ERROR 6428 --- [http-nio-8800-exec-3] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:09:14:972 INFO 6428 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:09:14:973 INFO 6428 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:09:14:978 INFO 6428 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:09:17:379 INFO 31216 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 31216 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:09:17:381 INFO 31216 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:09:18:172 INFO 31216 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:09:18:178 INFO 31216 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:09:18:179 INFO 31216 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:09:18:234 INFO 31216 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:09:18:234 INFO 31216 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 820 ms
|
||||
14:09:18:341 INFO 31216 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:09:18:884 INFO 31216 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:09:19:025 INFO 31216 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:09:19:278 INFO 31216 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.143 seconds (JVM running for 2.521)
|
||||
14:09:19:814 INFO 31216 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:09:19:815 INFO 31216 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:09:19:819 INFO 31216 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:09:19:848 INFO 31216 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:09:20:053 INFO 31216 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:09:20:114 ERROR 31216 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:09:24:748 ERROR 31216 --- [http-nio-8800-exec-3] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:10:31:596 INFO 31216 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:10:31:598 INFO 31216 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:10:31:604 INFO 31216 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:10:35:056 INFO 24320 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 24320 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:10:35:058 INFO 24320 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:10:35:824 INFO 24320 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:10:35:830 INFO 24320 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:10:35:831 INFO 24320 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:10:35:884 INFO 24320 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:10:35:885 INFO 24320 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 797 ms
|
||||
14:10:35:983 INFO 24320 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:10:36:490 INFO 24320 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:10:36:620 INFO 24320 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:10:36:864 INFO 24320 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.048 seconds (JVM running for 2.429)
|
||||
14:10:40:812 INFO 24320 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:10:40:812 INFO 24320 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:10:40:816 INFO 24320 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:10:40:845 INFO 24320 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:10:41:053 INFO 24320 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:13:09:614 INFO 24320 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:13:09:615 INFO 24320 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:13:09:620 INFO 24320 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:13:11:964 INFO 10352 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 10352 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:13:11:965 INFO 10352 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:13:12:761 INFO 10352 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:13:12:768 INFO 10352 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:13:12:768 INFO 10352 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:13:12:828 INFO 10352 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:13:12:828 INFO 10352 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 831 ms
|
||||
14:13:12:925 INFO 10352 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:13:13:484 INFO 10352 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:13:13:629 INFO 10352 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:13:13:898 INFO 10352 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.192 seconds (JVM running for 2.585)
|
||||
14:13:14:593 INFO 10352 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:13:14:593 INFO 10352 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:13:14:597 INFO 10352 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:13:38:681 INFO 10352 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:13:41:714 INFO 23004 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 23004 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:13:41:716 INFO 23004 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:13:42:511 INFO 23004 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:13:42:517 INFO 23004 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:13:42:518 INFO 23004 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:13:42:579 INFO 23004 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:13:42:579 INFO 23004 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 829 ms
|
||||
14:13:42:679 INFO 23004 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:13:43:243 INFO 23004 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:13:43:379 INFO 23004 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:13:43:485 INFO 23004 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:13:43:486 INFO 23004 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:13:43:491 INFO 23004 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms
|
||||
14:13:43:651 INFO 23004 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.186 seconds (JVM running for 2.596)
|
||||
14:14:08:104 INFO 23004 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:14:10:244 INFO 18600 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 18600 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:14:10:246 INFO 18600 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:14:11:052 INFO 18600 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:14:11:059 INFO 18600 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:14:11:059 INFO 18600 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:14:11:115 INFO 18600 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:14:11:115 INFO 18600 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 837 ms
|
||||
14:14:11:218 INFO 18600 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:14:11:749 INFO 18600 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:14:11:888 INFO 18600 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:14:12:153 INFO 18600 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.167 seconds (JVM running for 2.573)
|
||||
14:14:15:123 INFO 18600 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:14:15:123 INFO 18600 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:14:15:126 INFO 18600 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:15:29:156 INFO 18600 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:15:32:653 INFO 20408 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 20408 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:15:32:654 INFO 20408 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:15:33:437 INFO 20408 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:15:33:443 INFO 20408 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:15:33:443 INFO 20408 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:15:33:506 INFO 20408 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:15:33:506 INFO 20408 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 820 ms
|
||||
14:15:33:609 INFO 20408 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:15:34:125 INFO 20408 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:15:34:260 INFO 20408 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:15:34:511 INFO 20408 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.116 seconds (JVM running for 2.505)
|
||||
14:15:45:080 INFO 20408 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:15:45:080 INFO 20408 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:15:45:084 INFO 20408 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:16:25:662 INFO 20408 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:16:28:044 INFO 13272 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 13272 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:16:28:046 INFO 13272 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:16:28:861 INFO 13272 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:16:28:869 INFO 13272 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:16:28:869 INFO 13272 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:16:28:931 INFO 13272 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:16:28:932 INFO 13272 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 851 ms
|
||||
14:16:29:032 INFO 13272 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:16:29:602 INFO 13272 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:16:29:743 INFO 13272 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:16:30:017 INFO 13272 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.232 seconds (JVM running for 2.626)
|
||||
14:16:33:582 INFO 13272 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:16:33:582 INFO 13272 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:16:33:585 INFO 13272 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:16:33:615 INFO 13272 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
|
||||
14:16:33:850 INFO 13272 --- [http-nio-8800-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
|
||||
14:16:33:908 ERROR 13272 --- [http-nio-8800-exec-1] c.a.exception.GlobalExceptionHandler : GlobalExceptionHandler===>自定义异常信息:用户不存在
|
||||
14:49:35:578 INFO 13272 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:49:35:579 INFO 13272 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
|
||||
14:49:35:581 INFO 13272 --- [SpringContextShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
|
||||
14:49:40:028 INFO 26124 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 26124 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:49:40:030 INFO 26124 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:49:40:939 INFO 26124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:49:40:950 INFO 26124 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:49:40:951 INFO 26124 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:49:41:016 INFO 26124 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:49:41:016 INFO 26124 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 948 ms
|
||||
14:49:41:117 INFO 26124 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:49:41:710 INFO 26124 --- [main] .s.s.UserDetailsServiceAutoConfiguration :
|
||||
|
||||
Using generated security password: 22e6691e-e731-4b1b-bbb7-49c861afe133
|
||||
|
||||
14:49:41:792 INFO 26124 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2e1ba142, org.springframework.security.web.context.SecurityContextPersistenceFilter@1cc93da4, org.springframework.security.web.header.HeaderWriterFilter@35e689a0, org.springframework.security.web.csrf.CsrfFilter@280d5a82, org.springframework.security.web.authentication.logout.LogoutFilter@19647566, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7769d9b6, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@273293c8, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@abc7005, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@7878bbdb, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7e38e254, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@17136390, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@595ec862, org.springframework.security.web.session.SessionManagementFilter@3bf5911d, org.springframework.security.web.access.ExceptionTranslationFilter@64f3991e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3b33fff9]
|
||||
14:49:41:845 INFO 26124 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:49:41:999 INFO 26124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:49:42:269 INFO 26124 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.505 seconds (JVM running for 2.966)
|
||||
14:51:02:789 INFO 26124 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:51:02:789 INFO 26124 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:51:02:793 INFO 26124 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
|
||||
14:52:05:584 INFO 26124 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:52:08:294 INFO 28940 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 28940 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:52:08:296 INFO 28940 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:52:09:241 INFO 28940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:52:09:248 INFO 28940 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:52:09:248 INFO 28940 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:52:09:312 INFO 28940 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:52:09:312 INFO 28940 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 977 ms
|
||||
14:52:09:429 INFO 28940 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:52:10:030 INFO 28940 --- [main] .s.s.UserDetailsServiceAutoConfiguration :
|
||||
|
||||
Using generated security password: ae2ed156-c680-449d-ad9e-71583c31ef54
|
||||
|
||||
14:52:10:100 INFO 28940 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@53e28097, org.springframework.security.web.context.SecurityContextPersistenceFilter@35e689a0, org.springframework.security.web.header.HeaderWriterFilter@21a5b599, org.springframework.security.web.csrf.CsrfFilter@59f3426f, org.springframework.security.web.authentication.logout.LogoutFilter@3041beb3, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@fd87c22, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@6dcbbb49, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@6e794f53, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@4ca0b9b1, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3bf5911d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@69a90b81, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75f4d8a8, org.springframework.security.web.session.SessionManagementFilter@64f3991e, org.springframework.security.web.access.ExceptionTranslationFilter@1de08775, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@500ec769]
|
||||
14:52:10:151 INFO 28940 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:52:10:297 INFO 28940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:52:10:570 INFO 28940 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.611 seconds (JVM running for 3.178)
|
||||
14:52:12:610 INFO 28940 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:52:12:611 INFO 28940 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:52:12:614 INFO 28940 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:53:24:672 INFO 28940 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:53:27:344 INFO 9704 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 9704 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:53:27:346 INFO 9704 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:53:28:360 INFO 9704 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:53:28:367 INFO 9704 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:53:28:367 INFO 9704 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:53:28:444 INFO 9704 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:53:28:445 INFO 9704 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1046 ms
|
||||
14:53:28:560 INFO 9704 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:53:29:142 INFO 9704 --- [main] .s.s.UserDetailsServiceAutoConfiguration :
|
||||
|
||||
Using generated security password: 8096bafc-491c-41f3-80b4-f6829ee2cb99
|
||||
|
||||
14:53:29:209 INFO 9704 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@102af1bb, org.springframework.security.web.context.SecurityContextPersistenceFilter@2e4ecdf8, org.springframework.security.web.header.HeaderWriterFilter@1cc93da4, org.springframework.security.web.csrf.CsrfFilter@6efd0a6e, org.springframework.security.web.authentication.logout.LogoutFilter@2335aef2, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@5af38a4a, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@333e5fb6, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@797f97e3, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@6e794f53, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@69a90b81, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@a120b9, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@56cd5d76, org.springframework.security.web.session.SessionManagementFilter@7e38e254, org.springframework.security.web.access.ExceptionTranslationFilter@3bf5911d, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3b9c9b8b]
|
||||
14:53:29:261 INFO 9704 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:53:29:412 INFO 9704 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:53:29:684 INFO 9704 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.756 seconds (JVM running for 3.209)
|
||||
14:53:47:436 INFO 9704 --- [http-nio-8800-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:53:47:437 INFO 9704 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:53:47:440 INFO 9704 --- [http-nio-8800-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
|
||||
14:54:12:750 INFO 9704 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
14:54:14:216 INFO 16348 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 16348 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
14:54:14:218 INFO 16348 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
14:54:15:134 INFO 16348 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
14:54:15:141 INFO 16348 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
14:54:15:142 INFO 16348 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
14:54:15:202 INFO 16348 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
14:54:15:202 INFO 16348 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 947 ms
|
||||
14:54:15:319 INFO 16348 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
14:54:15:938 INFO 16348 --- [main] .s.s.UserDetailsServiceAutoConfiguration :
|
||||
|
||||
Using generated security password: c1b9b421-40ec-420f-88cd-c249c5d26684
|
||||
|
||||
14:54:16:006 INFO 16348 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@75f4d8a8, org.springframework.security.web.context.SecurityContextPersistenceFilter@3bf5911d, org.springframework.security.web.header.HeaderWriterFilter@64f3991e, org.springframework.security.web.csrf.CsrfFilter@6cc8adff, org.springframework.security.web.authentication.logout.LogoutFilter@2e40fdbd, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@1ff463bb, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@36c783ca, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@69ba72da, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@1be77a76, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1cc93da4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@35329a05, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2e1ba142, org.springframework.security.web.session.SessionManagementFilter@35e689a0, org.springframework.security.web.access.ExceptionTranslationFilter@21a5b599, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7bce9ce4]
|
||||
14:54:16:058 INFO 16348 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
14:54:16:203 INFO 16348 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
14:54:16:485 INFO 16348 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 2.538 seconds (JVM running for 2.963)
|
||||
14:54:25:577 INFO 16348 --- [http-nio-8800-exec-4] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||
14:54:25:578 INFO 16348 --- [http-nio-8800-exec-4] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
|
||||
14:54:25:583 INFO 16348 --- [http-nio-8800-exec-4] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms
|
||||
16:12:27:427 INFO 16348 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
16:22:14:238 INFO 23040 --- [main] com.atguigu.auth.ServiceAuthApplication : Starting ServiceAuthApplication on Bunny with PID 23040 (F:\java项目\guigu-oa\guigu-oa\service-oa\target\classes started by ACE in F:\java项目\guigu-oa\guigu-oa)
|
||||
16:22:14:239 INFO 23040 --- [main] com.atguigu.auth.ServiceAuthApplication : The following profiles are active: dev
|
||||
16:22:14:830 INFO 23040 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
|
||||
16:22:14:833 INFO 23040 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
|
||||
16:22:14:855 INFO 23040 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 13ms. Found 0 Redis repository interfaces.
|
||||
16:22:15:081 INFO 23040 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@3c232051' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
|
||||
16:22:15:085 INFO 23040 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
|
||||
16:22:15:412 INFO 23040 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8800 (http)
|
||||
16:22:15:418 INFO 23040 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
|
||||
16:22:15:418 INFO 23040 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
|
||||
16:22:15:478 INFO 23040 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
|
||||
16:22:15:478 INFO 23040 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1206 ms
|
||||
16:22:15:587 INFO 23040 --- [main] com.atguigu.config.MybatisPlusConfig : 注入MybatisPlus配置类...
|
||||
16:22:16:085 INFO 23040 --- [main] com.atguigu.config.RedisConfiguration : RedisConfiguration===>使用StringRedisSerializer序列化为字符串
|
||||
16:22:16:347 INFO 23040 --- [main] com.atguigu.config.RedisConfiguration : RedisConfiguration===>解决cache(@Cacheable)把数据缓存到redis中的value是乱码问题
|
||||
16:22:16:351 INFO 23040 --- [main] com.atguigu.config.RedisConfiguration : RedisConfiguration===>指定的日期模式
|
||||
16:22:16:428 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/admin/modeler/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/diagram-viewer/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/editor-app/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/*.html'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/admin/processImage/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/admin/wechat/authorize'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/admin/wechat/userInfo'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/admin/wechat/bindPhone'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/favicon.ico'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/swagger-resources/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/webjars/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/v2/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/swagger-ui.html/**'], []
|
||||
16:22:16:429 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/doc.html'], []
|
||||
16:22:16:495 INFO 23040 --- [main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@39403943, org.springframework.security.web.context.SecurityContextPersistenceFilter@6e7f29d5, org.springframework.security.web.header.HeaderWriterFilter@ff8e36d, org.springframework.web.filter.CorsFilter@1c5fd813, org.springframework.security.web.authentication.logout.LogoutFilter@63ad5fe7, com.atguigu.security.filter.TokenAuthenticationFilter@49338f3, com.atguigu.security.filter.TokenLoginFilter@3c9971af, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7f94541b, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@618fb1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4abdd5e, org.springframework.security.web.session.SessionManagementFilter@4f22fd5d, org.springframework.security.web.access.ExceptionTranslationFilter@94aeba1, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7adbec34]
|
||||
16:22:16:531 INFO 23040 --- [main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
|
||||
16:22:16:712 INFO 23040 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8800 (http) with context path ''
|
||||
16:22:16:982 INFO 23040 --- [main] com.atguigu.auth.ServiceAuthApplication : Started ServiceAuthApplication in 3.025 seconds (JVM running for 3.551)
|
||||
16:22:35:146 INFO 23040 --- [SpringContextShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.atguigu.model.system;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Login {
|
||||
private String token;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.atguigu.model.system;
|
||||
|
||||
import com.atguigu.vo.system.RouterVo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SysUserinfo {
|
||||
private HashSet<String> roles;
|
||||
private String name;
|
||||
private String avatar;
|
||||
private List<String> buttons;
|
||||
private List<RouterVo> routers;
|
||||
}
|
1
pom.xml
1
pom.xml
|
@ -18,6 +18,7 @@
|
|||
<module>common</module>
|
||||
<module>model</module>
|
||||
<module>service-oa</module>
|
||||
<module>common/spring-security</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
|
|
@ -28,6 +28,11 @@
|
|||
<artifactId>service-util</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.atguigu</groupId>
|
||||
<artifactId>spring-security</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
@ -40,7 +40,7 @@ public class Knife4jConfig {
|
|||
.select()
|
||||
// 只显示admin路径下的页面
|
||||
.apis(RequestHandlerSelectors.basePackage("com.atguigu"))
|
||||
.paths(PathSelectors.regex("/admin/.*"))
|
||||
.paths(PathSelectors.ant("/admin/**"))// PathSelectors.regex("/admin/.*")
|
||||
.build()
|
||||
.globalOperationParameters(pars);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
package com.atguigu.auth.controller;
|
||||
|
||||
import com.atguigu.auth.service.SysUserService;
|
||||
import com.atguigu.common.result.Result;
|
||||
import com.atguigu.model.system.Login;
|
||||
import com.atguigu.model.system.SysUserinfo;
|
||||
import com.atguigu.vo.system.LoginVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -16,27 +18,25 @@ import java.util.Map;
|
|||
* 后台登录登出
|
||||
* </p>
|
||||
*/
|
||||
@Tag(name = "后台登录管理")
|
||||
@Api(tags = "后台登录管理")
|
||||
@RestController
|
||||
@RequestMapping("/admin/system/index")
|
||||
public class IndexController {
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@Operation(summary = "登录", description = "登录")
|
||||
@PostMapping("login")
|
||||
public Result<Map<String, Object>> login() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("token", "admin");
|
||||
return Result.success(map);
|
||||
public Result<Login> login(@RequestBody LoginVo loginVo) {
|
||||
Login login = sysUserService.login(loginVo);
|
||||
return Result.success(login);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取用户信息", description = "获取用户信息")
|
||||
@GetMapping("info")
|
||||
public Result<Map<String, Object>> info() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("roles", "[admin]");
|
||||
map.put("name", "admin");
|
||||
map.put("avatar", "https://oss.aliyuncs.com/aliyun_id_photo_bucket/default_handsome.jpg");
|
||||
return Result.success(map);
|
||||
public Result<SysUserinfo> info(HttpServletRequest request) {
|
||||
SysUserinfo userinfo = sysUserService.getUserinfo(request);
|
||||
return Result.success(userinfo);
|
||||
}
|
||||
|
||||
@Operation(summary = "退出", description = "退出")
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
package com.atguigu.auth.controller;
|
||||
|
||||
|
||||
import com.atguigu.auth.service.SysMenuService;
|
||||
import com.atguigu.common.result.Result;
|
||||
import com.atguigu.model.system.SysMenu;
|
||||
import com.atguigu.vo.system.AssginMenuVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 菜单表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
@Api(tags = "菜单管理")
|
||||
@RestController
|
||||
@RequestMapping("/admin/system/sysMenu")
|
||||
public class SysMenuController {
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
|
||||
@Operation(summary = "获取菜单", description = "获取菜单")
|
||||
@GetMapping("findNodes")
|
||||
public Result<List<SysMenu>> findNodes() {
|
||||
List<SysMenu> list = sysMenuService.findNodes();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@Operation(summary = "新增菜单", description = "新增菜单")
|
||||
@PostMapping("save")
|
||||
public Result<SysMenu> save(@RequestBody SysMenu permission) {
|
||||
sysMenuService.save(permission);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "修改菜单", description = "修改菜单")
|
||||
@PutMapping("update")
|
||||
public Result<SysMenu> updateById(@RequestBody SysMenu permission) {
|
||||
sysMenuService.updateById(permission);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "删除菜单", description = "删除菜单")
|
||||
@DeleteMapping("remove/{id}")
|
||||
public Result<SysMenu> remove(@PathVariable Long id) {
|
||||
sysMenuService.removeMenuById(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "根据角色获取菜单", description = "根据角色获取菜单")
|
||||
@GetMapping("toAssign/{roleId}")
|
||||
public Result<List<SysMenu>> toAssign(@PathVariable Long roleId) {
|
||||
List<SysMenu> sysMenuList = sysMenuService.findSysMenuByRoleId(roleId);
|
||||
return Result.success(sysMenuList);
|
||||
}
|
||||
|
||||
@Operation(summary = "给角色分配权限", description = "给角色分配权限")
|
||||
@PostMapping("doAssign")
|
||||
public Result<AssginMenuVo> doAssign(@RequestBody AssginMenuVo assginMenuVo) {
|
||||
sysMenuService.doAssign(assginMenuVo);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
|
@ -7,16 +7,15 @@ import com.atguigu.model.system.SysRole;
|
|||
import com.atguigu.vo.system.AssginRoleVo;
|
||||
import com.atguigu.vo.system.SysRoleQueryVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Tag(name = "角色管理接口")
|
||||
@Api(tags = "角色管理接口")
|
||||
@RestController
|
||||
@RequestMapping("/admin/system/sysRole")
|
||||
public class SysRoleController {
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.atguigu.auth.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 角色菜单 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/auth/sys-role-menu")
|
||||
public class SysRoleMenuController {
|
||||
|
||||
}
|
||||
|
|
@ -6,8 +6,8 @@ import com.atguigu.common.result.Result;
|
|||
import com.atguigu.model.system.SysUser;
|
||||
import com.atguigu.vo.system.SysUserQueryVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -21,7 +21,7 @@ import java.util.List;
|
|||
* @author bunny
|
||||
* @since 2024-04-22
|
||||
*/
|
||||
@Tag(name = "用户管理接口")
|
||||
@Api(tags = "用户管理接口")
|
||||
@RestController
|
||||
@RequestMapping("/admin/system/sysUser")
|
||||
public class SysUserController {
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package com.atguigu.auth.mapper;
|
||||
|
||||
import com.atguigu.model.system.SysMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 菜单表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||
|
||||
/**
|
||||
* 根据用户ID查询菜单列表
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 菜单列表
|
||||
*/
|
||||
List<SysMenu> findMenuListByUserId(Long userId);
|
||||
}
|
|
@ -15,4 +15,12 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
|
|||
* @return 角色列表
|
||||
*/
|
||||
List<SysRole> selectByUserId(Long userId);
|
||||
|
||||
/**
|
||||
* 根据角色id获取角色权限
|
||||
*
|
||||
* @param roleId 角色Id
|
||||
* @return 菜单列表Id
|
||||
*/
|
||||
List<Long> selectByRoleId4MenuId(Long roleId);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package com.atguigu.auth.mapper;
|
||||
|
||||
import com.atguigu.model.system.SysRoleMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 角色菜单 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
|
||||
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
package com.atguigu.auth.service;
|
||||
|
||||
import com.atguigu.model.system.SysMenu;
|
||||
import com.atguigu.vo.system.AssginMenuVo;
|
||||
import com.atguigu.vo.system.RouterVo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 菜单表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
public interface SysMenuService extends IService<SysMenu> {
|
||||
|
||||
/**
|
||||
* 获取菜单
|
||||
*
|
||||
* @return 菜单列表
|
||||
*/
|
||||
List<SysMenu> findNodes();
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
*
|
||||
* @param id 菜单id
|
||||
*/
|
||||
void removeMenuById(Long id);
|
||||
|
||||
/**
|
||||
* 根据角色获取菜单
|
||||
*
|
||||
* @param roleId 角色id
|
||||
* @return 菜单列表
|
||||
*/
|
||||
List<SysMenu> findSysMenuByRoleId(Long roleId);
|
||||
|
||||
/**
|
||||
* 给角色分配权限
|
||||
*
|
||||
* @param assginMenuVo 分配条件
|
||||
*/
|
||||
void doAssign(AssginMenuVo assginMenuVo);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户可以操作的菜单列表
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 路由信息
|
||||
*/
|
||||
List<RouterVo> findUserMenuListByUserId(Long userId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户按钮权限
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 按钮权限
|
||||
*/
|
||||
List<String> findUserPermsList(Long userId);
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.atguigu.auth.service;
|
||||
|
||||
import com.atguigu.model.system.SysRoleMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 角色菜单 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
public interface SysRoleMenuService extends IService<SysRoleMenu> {
|
||||
|
||||
}
|
|
@ -1,10 +1,15 @@
|
|||
package com.atguigu.auth.service;
|
||||
|
||||
import com.atguigu.model.system.Login;
|
||||
import com.atguigu.model.system.SysUser;
|
||||
import com.atguigu.model.system.SysUserinfo;
|
||||
import com.atguigu.vo.system.LoginVo;
|
||||
import com.atguigu.vo.system.SysUserQueryVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户表 服务类
|
||||
|
@ -32,4 +37,28 @@ public interface SysUserService extends IService<SysUser> {
|
|||
* @param status 修改的状态
|
||||
*/
|
||||
void updateStatus(Long id, Long status);
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*
|
||||
* @param vo 登录条件
|
||||
* @return 返回token
|
||||
*/
|
||||
Login login(LoginVo vo);
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
*
|
||||
* @param request 请求头
|
||||
* @return 用户信息
|
||||
*/
|
||||
SysUserinfo getUserinfo(HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 根据用户名查询用户信息
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return 用户信息
|
||||
*/
|
||||
SysUser getByUsername(String username);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
package com.atguigu.auth.service.impl;
|
||||
|
||||
import com.atguigu.auth.mapper.SysMenuMapper;
|
||||
import com.atguigu.auth.mapper.SysRoleMapper;
|
||||
import com.atguigu.auth.service.SysMenuService;
|
||||
import com.atguigu.auth.service.SysRoleMenuService;
|
||||
import com.atguigu.common.utlis.MenuHelper;
|
||||
import com.atguigu.constant.MessageConstant;
|
||||
import com.atguigu.exception.BunnyException;
|
||||
import com.atguigu.model.system.SysMenu;
|
||||
import com.atguigu.model.system.SysRoleMenu;
|
||||
import com.atguigu.vo.system.AssginMenuVo;
|
||||
import com.atguigu.vo.system.RouterVo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 菜单表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
|
||||
@Autowired
|
||||
private SysRoleMenuService sysRoleMenuService;
|
||||
@Autowired
|
||||
private SysRoleMapper sysRoleMapper;
|
||||
|
||||
/**
|
||||
* 获取菜单
|
||||
*
|
||||
* @return 菜单列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysMenu> findNodes() {
|
||||
return MenuHelper.buildTree(list());
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
*
|
||||
* @param id 菜单id
|
||||
*/
|
||||
@Override
|
||||
public void removeMenuById(Long id) {
|
||||
// 判断当前菜单是否有下级菜单
|
||||
LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysMenu::getParentId, id);
|
||||
|
||||
// 查询菜单列表
|
||||
List<SysMenu> sysMenuList = list(wrapper);
|
||||
|
||||
// 为空时可以删除
|
||||
if (sysMenuList == null) removeById(id);
|
||||
|
||||
// 如果不为空抛出异常
|
||||
throw new BunnyException(MessageConstant.DELETE_MENU_ERROR_HAS_MENUS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色获取菜单
|
||||
*
|
||||
* @param roleId 角色id
|
||||
* @return 菜单列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysMenu> findSysMenuByRoleId(Long roleId) {
|
||||
// 查询所有权限列表
|
||||
LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysMenu::getStatus, 1);
|
||||
List<SysMenu> allSysMenuList = list(wrapper);
|
||||
|
||||
// 根据角色id获取角色权限
|
||||
List<Long> menuIdList = sysRoleMapper.selectByRoleId4MenuId(roleId);
|
||||
|
||||
allSysMenuList.forEach(permission -> {
|
||||
permission.setSelect(menuIdList.contains(permission.getId()));
|
||||
});
|
||||
|
||||
return MenuHelper.buildTree(allSysMenuList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 给角色分配权限
|
||||
*
|
||||
* @param vo 分配条件
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public void doAssign(AssginMenuVo vo) {
|
||||
// 删除之前的
|
||||
sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, vo.getRoleId()));
|
||||
|
||||
ArrayList<SysRoleMenu> sysRoleMenuArrayList = new ArrayList<>();
|
||||
// 为角色分配菜单
|
||||
vo.getMenuIdList().forEach(menuId -> {
|
||||
if (!StringUtils.isEmpty(menuId)) {
|
||||
SysRoleMenu sysRoleMenu = new SysRoleMenu();
|
||||
sysRoleMenu.setRoleId(vo.getRoleId());
|
||||
sysRoleMenu.setMenuId(menuId);
|
||||
sysRoleMenuArrayList.add(sysRoleMenu);
|
||||
}
|
||||
});
|
||||
|
||||
// 批量添加
|
||||
sysRoleMenuService.saveBatch(sysRoleMenuArrayList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户可以操作的菜单列表
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 路由信息
|
||||
*/
|
||||
@Override
|
||||
public List<RouterVo> findUserMenuListByUserId(Long userId) {
|
||||
List<SysMenu> sysMenuList;
|
||||
if (userId == 1) {
|
||||
LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysMenu::getStatus, 1);
|
||||
wrapper.orderByAsc(SysMenu::getSortValue);
|
||||
sysMenuList = list(wrapper);
|
||||
} else {
|
||||
// 根据用户ID查询菜单列表
|
||||
sysMenuList = baseMapper.findMenuListByUserId(userId);
|
||||
}
|
||||
|
||||
// 构建成树型结构
|
||||
List<SysMenu> menuList = MenuHelper.buildTree(sysMenuList);
|
||||
|
||||
return MenuHelper.buildRouter(menuList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户按钮权限
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 按钮权限
|
||||
*/
|
||||
@Override
|
||||
public List<String> findUserPermsList(Long userId) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.atguigu.auth.service.impl;
|
||||
|
||||
import com.atguigu.auth.mapper.SysRoleMenuMapper;
|
||||
import com.atguigu.auth.service.SysRoleMenuService;
|
||||
import com.atguigu.model.system.SysRoleMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 角色菜单 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author bunny
|
||||
* @since 2024-04-23
|
||||
*/
|
||||
@Service
|
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
|
||||
|
||||
}
|
|
@ -1,16 +1,31 @@
|
|||
package com.atguigu.auth.service.impl;
|
||||
|
||||
import com.atguigu.auth.mapper.SysUserMapper;
|
||||
import com.atguigu.auth.service.SysMenuService;
|
||||
import com.atguigu.auth.service.SysUserService;
|
||||
import com.atguigu.common.utlis.JwtHelper;
|
||||
import com.atguigu.constant.MessageConstant;
|
||||
import com.atguigu.exception.BunnyException;
|
||||
import com.atguigu.model.system.Login;
|
||||
import com.atguigu.model.system.SysUser;
|
||||
import com.atguigu.model.system.SysUserinfo;
|
||||
import com.atguigu.vo.system.LoginVo;
|
||||
import com.atguigu.vo.system.RouterVo;
|
||||
import com.atguigu.vo.system.SysUserQueryVo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.DigestUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户表 服务实现类
|
||||
|
@ -21,6 +36,8 @@ import org.springframework.util.StringUtils;
|
|||
*/
|
||||
@Service
|
||||
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
|
||||
/**
|
||||
* 用户条件分页查询
|
||||
|
@ -66,4 +83,80 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
// 更新用户状态
|
||||
updateById(sysUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*
|
||||
* @param vo 登录条件
|
||||
* @return 返回token
|
||||
*/
|
||||
@Override
|
||||
public Login login(LoginVo vo) {
|
||||
String username = vo.getUsername();
|
||||
String password = vo.getPassword();
|
||||
// 查询用户信息
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysUser::getUsername, username);
|
||||
SysUser sysUser = getOne(wrapper);
|
||||
|
||||
// 用户是否存在
|
||||
if (sysUser == null) {
|
||||
throw new BunnyException(MessageConstant.ACCOUNT_NOT_FOUND);
|
||||
}
|
||||
|
||||
// 判断是否被禁用
|
||||
if (sysUser.getStatus() == 0) {
|
||||
throw new BunnyException(MessageConstant.ACCOUNT_LOCKED);
|
||||
}
|
||||
|
||||
// 判断密码
|
||||
String md5DigestAsHexPassword = DigestUtils.md5DigestAsHex(password.getBytes());
|
||||
if (!md5DigestAsHexPassword.equals(sysUser.getPassword())) {
|
||||
throw new BunnyException(MessageConstant.PASSWORD_ERROR);
|
||||
}
|
||||
// 添加token
|
||||
String token = JwtHelper.createToken(sysUser.getId(), sysUser.getUsername());
|
||||
return Login.builder().token(token).build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
*
|
||||
* @param request 请求头
|
||||
* @return 用户信息
|
||||
*/
|
||||
@Override
|
||||
public SysUserinfo getUserinfo(HttpServletRequest request) {
|
||||
// 从请求头中获取用户信息
|
||||
String token = request.getHeader("token");
|
||||
// 从token中获取字符串Id
|
||||
Long userId = JwtHelper.getUserId(token);
|
||||
// 根据用户Id查询用户表
|
||||
SysUser sysUser = getById(userId);
|
||||
if (sysUser == null) {
|
||||
throw new BunnyException(MessageConstant.USER_DOES_NOT_EXIST);
|
||||
}
|
||||
// 根据用户ID查询用户可以操作的菜单列表
|
||||
List<RouterVo> routerVoList = sysMenuService.findUserMenuListByUserId(userId);
|
||||
// 根据用户ID查询用户按钮权限
|
||||
List<String> permsList = sysMenuService.findUserPermsList(userId);
|
||||
return SysUserinfo.builder()
|
||||
.name(sysUser.getName())
|
||||
.avatar("https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif")
|
||||
.roles(new HashSet<>())
|
||||
.buttons(permsList)
|
||||
.routers(routerVoList)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户名查询用户信息
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return 用户信息
|
||||
*/
|
||||
@Override
|
||||
public SysUser getByUsername(String username) {
|
||||
return getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, username));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
package com.atguigu.auth.service.impl;
|
||||
|
||||
import com.atguigu.auth.service.SysUserService;
|
||||
import com.atguigu.constant.MessageConstant;
|
||||
import com.atguigu.exception.BunnyException;
|
||||
import com.atguigu.model.system.SysUser;
|
||||
import com.atguigu.security.custom.CustomUser;
|
||||
import com.atguigu.security.service.UserDetailsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@Component
|
||||
public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
SysUser sysUser = sysUserService.getByUsername(username);
|
||||
if (null == sysUser) {
|
||||
throw new UsernameNotFoundException(MessageConstant.USER_DOES_NOT_EXIST);
|
||||
}
|
||||
|
||||
if (sysUser.getStatus() == 0) {
|
||||
throw new BunnyException(MessageConstant.ACCOUNT_LOCKED);
|
||||
}
|
||||
|
||||
return new CustomUser(sysUser, Collections.emptyList());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.atguigu.auth.mapper.SysMenuMapper">
|
||||
<!-- 用于select查询公用抽取的列 -->
|
||||
<sql id="columns">
|
||||
m.id,m.parent_id,m.name,m.type,m.path,m.component,m.perms,m.icon,m.sort_value,m.status,m.create_time,m.update_time,m.is_deleted
|
||||
</sql>
|
||||
|
||||
<select id="findMenuListByUserId" resultType="com.atguigu.model.system.SysMenu">
|
||||
select
|
||||
distinct
|
||||
<include refid="columns"/>
|
||||
from sys_menu m
|
||||
inner join sys_role_menu rm on rm.menu_id = m.id
|
||||
inner join sys_user_role ur on ur.role_id = rm.role_id
|
||||
where
|
||||
ur.user_id = #{userId}
|
||||
and m.status = 1
|
||||
and rm.is_deleted = 0
|
||||
and ur.is_deleted = 0
|
||||
and m.is_deleted = 0
|
||||
</select>
|
||||
</mapper>
|
|
@ -7,4 +7,11 @@
|
|||
FROM sys_role
|
||||
WHERE id IN (SELECT role_id FROM sys_user_role WHERE user_id = #{user_id})
|
||||
</select>
|
||||
|
||||
<!-- 根据角色id获取角色权限 -->
|
||||
<select id="selectByRoleId4MenuId" resultType="java.lang.Long">
|
||||
SELECT menu_id
|
||||
FROM sys_role_menu
|
||||
WHERE role_id = #{role_id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.atguigu.auth.mapper.SysRoleMenuMapper">
|
||||
|
||||
</mapper>
|
|
@ -1,21 +0,0 @@
|
|||
server:
|
||||
port: 8800
|
||||
|
||||
bunny:
|
||||
datasource:
|
||||
host: 106.15.251.123
|
||||
port: 3305
|
||||
sqlData: guigu-oa
|
||||
username: root
|
||||
password: "02120212"
|
||||
|
||||
# nacos:
|
||||
# server-addr: z-bunny.cn:8848
|
||||
# discovery:
|
||||
# namespace: ssyx
|
||||
#
|
||||
# minio:
|
||||
# endpointUrl: "http://129.211.31.58:9000"
|
||||
# bucket-name: ssyx
|
||||
# accessKey: bunny
|
||||
# secretKey: "02120212"
|
|
@ -1,34 +0,0 @@
|
|||
server:
|
||||
port: 8800
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: service-oa
|
||||
profiles:
|
||||
active: dev
|
||||
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
username: ${bunny.datasource.username}
|
||||
password: ${bunny.datasource.password}
|
||||
|
||||
jackson:
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
time-zone: GMT+8
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/*.xml
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
|
||||
|
||||
logging:
|
||||
level:
|
||||
com.atguigu.auth.mapper: debug
|
||||
com.atguigu.auth.controller: info
|
||||
com.atguigu.auth.service: info
|
||||
pattern:
|
||||
dateformat: HH:mm:ss:SSS
|
||||
file:
|
||||
path: "logs/${spring.application.name}"
|
|
@ -1,16 +0,0 @@
|
|||
-----------------▄██-█▄---------
|
||||
-----------------███▄██▄--------
|
||||
-----------------███████--------
|
||||
-----------------▀███████-------
|
||||
-------------------██████▄▄-----
|
||||
-------------------█████████▄---
|
||||
-------------------██████▄████--
|
||||
-------▄███████████████████████-
|
||||
-----▄███████████████████████▀--
|
||||
---▄██████████████████████------
|
||||
---███████████████████████------
|
||||
---███████████████████████------
|
||||
-▄▄██████████████████████▀------
|
||||
-█████████████████▀█████--------
|
||||
-▀██████████████▀▀-▀█████▄------
|
||||
-------▀▀▀▀▀▀▀▀▀------▀▀▀▀------
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB |
Loading…
Reference in New Issue