src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/genersoft/iot/vmp/conf/security/JwtAuthenticationFilter.java
@@ -78,6 +78,7 @@ // 构建UsernamePasswordAuthenticationToken,这里密码为null,是因为提供了正确的JWT,实现自动登录 User user = new User(); user.setId(jwtUser.getUserId()); user.setUsername(jwtUser.getUserName()); user.setPassword(jwtUser.getPassword()); Role role = new Role(); src/main/java/com/genersoft/iot/vmp/conf/security/JwtUtils.java
@@ -144,6 +144,7 @@ jwtUser.setUserName(username); jwtUser.setPassword(user.getPassword()); jwtUser.setRoleId(user.getRole().getId()); jwtUser.setUserId(user.getId()); return jwtUser; } catch (InvalidJwtException e) { src/main/java/com/genersoft/iot/vmp/conf/security/dto/JwtUser.java
@@ -21,6 +21,7 @@ EXCEPTION } private int userId; private String userName; private String password; @@ -29,6 +30,14 @@ private TokenStatus status; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } src/main/java/com/genersoft/iot/vmp/gb28181/conf/StackLoggerImpl.java
@@ -1,8 +1,8 @@ package com.genersoft.iot.vmp.gb28181.conf; import gov.nist.core.StackLogger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.spi.LocationAwareLogger; import org.springframework.stereotype.Component; import java.util.Properties; @@ -10,7 +10,39 @@ @Component public class StackLoggerImpl implements StackLogger { private final static Logger logger = LoggerFactory.getLogger(StackLoggerImpl.class); /** * 完全限定类名(Fully Qualified Class Name),用于定位日志位置 */ private static final String FQCN = StackLoggerImpl.class.getName(); /** * 获取栈中类信息(以便底层日志记录系统能够提取正确的位置信息(方法名、行号)) * @return LocationAwareLogger */ private static LocationAwareLogger getLocationAwareLogger() { return (LocationAwareLogger) LoggerFactory.getLogger(new Throwable().getStackTrace()[4].getClassName()); } /** * 封装打印日志的位置信息 * @param level 日志级别 * @param message 日志事件的消息 */ private static void log(int level, String message) { LocationAwareLogger locationAwareLogger = getLocationAwareLogger(); locationAwareLogger.log(null, FQCN, level, message, null, null); } /** * 封装打印日志的位置信息 * @param level 日志级别 * @param message 日志事件的消息 */ private static void log(int level, String message, Throwable throwable) { LocationAwareLogger locationAwareLogger = getLocationAwareLogger(); locationAwareLogger.log(null, FQCN, level, message, null, throwable); } @Override public void logStackTrace() { @@ -34,27 +66,27 @@ @Override public void logDebug(String message) { // logger.debug(message); log(LocationAwareLogger.INFO_INT, message); } @Override public void logDebug(String message, Exception ex) { // logger.debug(message); log(LocationAwareLogger.INFO_INT, message, ex); } @Override public void logTrace(String message) { logger.trace(message); log(LocationAwareLogger.INFO_INT, message); } @Override public void logFatalError(String message) { // logger.error(message); log(LocationAwareLogger.INFO_INT, message); } @Override public void logError(String message) { // logger.error(message); log(LocationAwareLogger.INFO_INT, message); } @Override @@ -69,17 +101,17 @@ @Override public void logError(String message, Exception ex) { // logger.error(message); log(LocationAwareLogger.INFO_INT, message, ex); } @Override public void logWarning(String message) { logger.warn(message); log(LocationAwareLogger.INFO_INT, message); } @Override public void logInfo(String message) { logger.info(message); log(LocationAwareLogger.INFO_INT, message); } @Override src/main/resources/logback-spring.xml
@@ -4,8 +4,8 @@ <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/> <property name="LOG_HOME" value="logs" /> <substitutionProperty name="log.pattern" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(---){faint} %clr(%-1.30logger{0}){cyan} %clr(:){faint} %m%n%wEx"/> <substitutionProperty name="log.pattern" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr([%thread]) %clr(%5p) %clr(---){faint} %clr(%logger{50}){cyan} %clr(:) %clr(%L){faint} %m%n%wEx"/> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>