diff --git a/nladmin-system/nlsso-server/pom.xml b/nladmin-system/nlsso-server/pom.xml index e10f83d..a9901fb 100644 --- a/nladmin-system/nlsso-server/pom.xml +++ b/nladmin-system/nlsso-server/pom.xml @@ -19,19 +19,17 @@ 1.8 1.16 2.9.2 - 1.2.70 1.1.22 - 2.5.0 - 1.3.1.Final + 1.2.0.Final 1.31.0 5.7.14 0.11.1 - - 5.9.0 8.2.0 + + + 1.9 - @@ -39,6 +37,113 @@ jansi 1.17.1 + + + org.jetbrains + annotations + 13.0 + + + org.codehaus.groovy + groovy-all + 3.0.13 + pom + + + + com.yomahub + tlog-all-spring-boot-starter + 1.5.0 + + + + + + org.apache.lucene + lucene-core + ${lucene.version} + + + org.apache.lucene + lucene-highlighter + ${lucene.version} + + + org.apache.lucene + lucene-analyzers-common + ${lucene.version} + + + com.github.magese + ik-analyzer + ${lucene.version} + + + + + org.apache.lucene + lucene-analyzers-smartcn + ${lucene.version} + + + + org.apache.lucene + lucene-queryparser + ${lucene.version} + + + + + + com.yomahub + tlog-all-spring-boot-starter + 1.5.0 + + + + + com.github.oshi + oshi-core + 5.3.6 + + + + net.java.dev.jna + jna + 5.6.0 + + + + + + + + + + + + + com.internetitem + logback-elasticsearch-appender + 1.6 + + + + + org.fusesource.jansi + jansi + 1.9 + @@ -46,13 +151,22 @@ hutool-all ${hutool.version} - + - org.springframework - spring-jdbc - 5.2.9.RELEASE + org.springframework.boot + spring-boot-starter-data-jpa + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.2.12 + + + org.mybatis + mybatis + + - org.springframework.boot @@ -66,32 +180,6 @@ test - - org.reflections - reflections - 0.9.10 - - - - com.baomidou - mybatis-plus-boot-starter - 3.4.0 - - - org.apache.velocity - velocity-engine-core - 2.3 - - - com.baomidou - mybatis-plus-generator - 3.4.0 - - - - - - cn.dev33 @@ -109,19 +197,6 @@ sa-token-jwt ${sa-token.version} - - cn.dev33 - sa-token-dao-redis - 1.31.0 - - - - - cn.dev33 - sa-token-alone-redis - 1.33.0 - - @@ -129,18 +204,6 @@ spring-boot-starter-cache - - - org.springframework.boot - spring-boot-starter-data-redis - - - - - org.apache.commons - commons-pool2 - ${commons-pool2.version} - org.apache.commons commons-lang3 @@ -198,44 +261,31 @@ druid-spring-boot-starter ${druid.version} - - net.dreamlu - mica-ip2region - 2.5.6 - - - - org.lionsoul - ip2region - 1.7.2 - org.projectlombok lombok true - - - com.alibaba - easyexcel - 2.1.6 + cn.dev33 + sa-token-dao-redis + 1.31.0 - org.apache.poi - poi-ooxml-schemas - 3.17 + com.baomidou + mybatis-plus-boot-starter + 3.4.0 - org.apache.poi - poi - 3.17 + org.apache.velocity + velocity-engine-core + 2.3 - org.apache.poi - poi-ooxml - 3.17 + com.baomidou + mybatis-plus-generator + 3.4.0 xerces @@ -243,12 +293,6 @@ 2.12.0 - - - com.alibaba - fastjson - ${fastjson.version} - @@ -301,24 +345,12 @@ 1.8.0 - - org.aspectj - aspectjweaver - 1.9.2 - - org.springframework.boot spring-boot-starter-aop - - - com.google.guava - guava - 29.0-jre - org.springframework.boot @@ -352,13 +384,12 @@ org.springframework.boot spring-boot-starter-websocket - - - io.jsonwebtoken - jjwt-api - ${jjwt.version} + org.redisson + redisson-spring-boot-starter + 3.16.4 + io.jsonwebtoken jjwt-impl @@ -388,27 +419,21 @@ 0.1.55 - + - com.github.oshi - oshi-core - 5.0.1 - - - - org.apache.httpcomponents - httpclient - 4.5.13 + com.alibaba + easyexcel + 2.2.6 - jakarta.transaction - jakarta.transaction-api - 1.3.3 + mysql + mysql-connector-java + 8.0.20 - jakarta.persistence - jakarta.persistence-api - 2.2.3 + org.json + json + 20131018 @@ -417,78 +442,35 @@ 2.8.0 - - - org.apache.lucene - lucene-core - ${lucene.version} - - - org.apache.lucene - lucene-highlighter - ${lucene.version} - - - org.apache.lucene - lucene-analyzers-common - ${lucene.version} - - - com.github.magese - ik-analyzer - ${lucene.version} - - - - - org.apache.lucene - lucene-analyzers-smartcn - ${lucene.version} - - - - org.apache.lucene - lucene-queryparser - ${lucene.version} - - - - - - - - nexus - - nexus - http://121.40.234.130:8081/repository/maven-releases/ - - - - - + ${project.artifactId} org.springframework.boot spring-boot-maven-plugin - + 2.2.10.RELEASE org.nl.AppRun + true + + + + + repackage + + + - org.apache.maven.plugins - maven-surefire-plugin + maven-war-plugin + 3.2.2 - true + false + ${project.artifactId} @@ -500,8 +482,10 @@ **/*.* + + **/*.java + - ${basedir}/src/main/resources @@ -509,6 +493,6 @@ - + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/StringUtils.java b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/StringUtils.java index f3f5e42..f135a53 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/StringUtils.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/StringUtils.java @@ -19,8 +19,6 @@ import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; -import net.dreamlu.mica.ip2region.core.Ip2regionSearcher; -import net.dreamlu.mica.ip2region.core.IpInfo; import nl.basjes.parse.useragent.UserAgent; import nl.basjes.parse.useragent.UserAgentAnalyzer; import org.nl.config.ElAdminProperties; @@ -44,11 +42,6 @@ public class StringUtils { private static final char SEPARATOR = '_'; private static final String UNKNOWN = "unknown"; - /** - * 注入bean - */ - private final static Ip2regionSearcher IP_SEARCHER = SpringContextHolder.getBean(Ip2regionSearcher.class); - private static final UserAgentAnalyzer USER_AGENT_ANALYZER = UserAgentAnalyzer .newBuilder() @@ -199,17 +192,6 @@ public class StringUtils { return object.get("addr", String.class); } - /** - * 根据ip获取详细地址 - */ - public static String getLocalCityInfo(String ip) { - IpInfo ipInfo = IP_SEARCHER.memorySearch(ip); - if(ipInfo != null){ - return ipInfo.getAddress(); - } - return null; - - } public static String getBrowser(HttpServletRequest request) { UserAgent.ImmutableUserAgent userAgent = USER_AGENT_ANALYZER.parse(request.getHeader("User-Agent")); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/config/saconfig/SaInitCOnfig.java b/nladmin-system/nlsso-server/src/main/java/org/nl/config/saconfig/SaInitCOnfig.java index 6a967a9..67d803d 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/config/saconfig/SaInitCOnfig.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/config/saconfig/SaInitCOnfig.java @@ -3,7 +3,6 @@ package org.nl.config.saconfig; import cn.dev33.satoken.config.SaSsoConfig; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; -import org.apache.http.client.HttpClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ModelAndView; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java new file mode 100644 index 0000000..c273b24 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java @@ -0,0 +1,92 @@ +package org.nl.system.controller.secutiry; + +import cn.dev33.satoken.annotation.SaIgnore; +import cn.dev33.satoken.secure.SaSecureUtil; +import cn.dev33.satoken.stp.SaLoginModel; +import cn.dev33.satoken.stp.StpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.RedisUtils; +import org.nl.common.utils.RsaUtils; +import org.nl.common.utils.dto.CurrentUser; +import org.nl.config.RsaProperties; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @Author: lyd + * @Description: 手持登录鉴权 + * @Date: 2023/7/31 + */ +@Slf4j +@RestController +@RequestMapping("/api/pda") +@Api(tags = "手持:系统授权接口") +public class MobileAuthorizationController { + @Autowired + private ISysUserService userService; + @Autowired + private ISysRoleService roleService; + @ApiOperation("登录授权") + @PostMapping(value = "/login") + @SaIgnore + public JSONObject login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { + // 密码解密 - 前端的加密规则: encrypt(根据实际更改) + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); + // 校验数据库 + // 根据用户名查询,在比对密码 + SysUser userInfo = userService.getOne(new LambdaQueryWrapper() + .eq(SysUser::getUsername, authUser.getUsername())); // 拿不到已经抛出异常 + if (!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 + throw new BadRequestException("账号或密码错误!"); + } + // 获取权限列表 - 登录查找权限 + List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); + + if (!userInfo.getIs_used()) { + throw new BadRequestException("账号未激活"); + } + + // 登录输入,登出删除 + CurrentUser user = new CurrentUser(); + user.setId(userInfo.getUser_id()); + user.setUsername(userInfo.getUsername()); + user.setPresonName(userInfo.getPerson_name()); + user.setUser(userInfo); + user.setPermissions(permissionList); + + // SaLoginModel 配置登录相关参数 + StpUtil.login(userInfo.getUser_id(), new SaLoginModel() + .setDevice("PE") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 + .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) + ); + + // 返回 token 与 用户信息 + JSONObject jsonObject = new JSONObject(); +// jsonObject.put("roles", permissionList); + jsonObject.put("user", userInfo); + JSONObject authInfo = new JSONObject(2) {{ + put("token", "Bearer " + StpUtil.getTokenValue()); + put("user", jsonObject); + }}; + + return authInfo; + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneDefaultAppender.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneDefaultAppender.java new file mode 100644 index 0000000..70ed73d --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneDefaultAppender.java @@ -0,0 +1,27 @@ +package org.nl.system.service.lucene; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.UnsynchronizedAppenderBase; +import org.apache.lucene.document.Document; +import org.apache.lucene.document.Field; +import org.apache.lucene.document.StringField; +import org.apache.lucene.index.IndexWriter; +import org.nl.config.lucene.LuceneIndexWriter; + +/** + * @author ldjun + * @version 1.0 + * @date 2023年05月12日 9:40 + * @desc desc + */ +public class LuceneDefaultAppender extends UnsynchronizedAppenderBase { + + @Override + protected void append(ILoggingEvent eventObject) { + IndexWriter indexWriter = LuceneIndexWriter.getIndexWriter(); + Document document = new Document(); + document.add(new StringField("status_code", "01", Field.Store.YES)); + + } + +} diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index 28b29e5..bf94730 100644 --- a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -11,6 +11,11 @@ spring: username: ${DB_USER:root} password: ${DB_PWD:P@ssw0rd} # password: ${DB_PWD:P@ssw0rd} +# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:nl-sso-server}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# username: ${DB_USER:root} +# password: ${DB_PWD:Root.123456} +# password: ${DB_PWD:12356} # 初始连接数 initial-size: 5 # 最小连接数 @@ -57,7 +62,19 @@ spring: database: ${REDIS_DB:2} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:} +# password: ${REDIS_PWD:} + #连接超时时间 + timeout: 5000 + redisson: + config: | + threads: 4 + nettyThreads: 4 + singleServerConfig: + connectionMinimumIdleSize: 8 + connectionPoolSize: 8 + address: redis://127.0.0.1:6379 + idleConnectionTimeout: 10000 + timeout: 3000 # 登录相关配置 login: diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml b/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml index f0fc978..4c8e76e 100644 --- a/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml +++ b/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml @@ -59,6 +59,16 @@ spring: password: ${REDIS_PWD:} #连接超时时间 timeout: 5000 + redisson: + config: | + threads: 4 + nettyThreads: 4 + singleServerConfig: + connectionMinimumIdleSize: 8 + connectionPoolSize: 8 + address: redis://127.0.0.1:6379 + idleConnectionTimeout: 10000 + timeout: 3000 # 登录相关配置 login: # 登录缓存 diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application-test.yml b/nladmin-system/nlsso-server/src/main/resources/config/application-test.yml index f10e4cb..828e699 100644 --- a/nladmin-system/nlsso-server/src/main/resources/config/application-test.yml +++ b/nladmin-system/nlsso-server/src/main/resources/config/application-test.yml @@ -56,9 +56,18 @@ spring: database: ${REDIS_DB:15} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:} #连接超时时间 timeout: 5000 + redisson: + config: | + threads: 4 + nettyThreads: 4 + singleServerConfig: + connectionMinimumIdleSize: 8 + connectionPoolSize: 8 + address: redis://127.0.0.1:6379 + idleConnectionTimeout: 10000 + timeout: 3000 # 登录相关配置 login: # 登录缓存 diff --git a/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index db627cc..7f6c752 100644 --- a/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -21,9 +21,10 @@ https://juejin.cn/post/6844903775631572999 - + true + + ${log.pattern} - ${log.charset} @@ -41,7 +42,9 @@ https://juejin.cn/post/6844903775631572999 20GB - + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n @@ -49,15 +52,22 @@ https://juejin.cn/post/6844903775631572999 - - 0 + + + 0 500 + + + + + + diff --git a/nladmin-system/pom.xml b/nladmin-system/pom.xml index addcceb..e035d25 100644 --- a/nladmin-system/pom.xml +++ b/nladmin-system/pom.xml @@ -2,13 +2,17 @@ - - org.springframework.boot - spring-boot-starter-parent - 2.2.10.RELEASE - 4.0.0 + + UTF-8 + UTF-8 + 1.8 + @ + ${java.version} + ${java.version} + + nlsso-server @@ -17,13 +21,18 @@ nladmin-system 0.0.1-SNAPSHOT 核心模块 - - 1.31.0 - - - - - + + + + + org.springframework.boot + spring-boot-dependencies + 2.2.10.RELEASE + pom + import + + +