From 76f4a5f3e304e1d6d3382ba0e3e0031dca8260d5 Mon Sep 17 00:00:00 2001 From: cym1102 Date: Fri, 19 May 2023 19:58:40 +0800 Subject: [PATCH] 1 --- README.md | 8 +++----- pom.xml | 17 ++++++++-------- src/main/java/com/cym/SvnWebUI.java | 5 +++-- src/main/java/com/cym/config/AppFilter.java | 20 +++++++++---------- .../java/com/cym/config/ScheduleTask.java | 2 +- .../com/cym/controller/ConfigController.java | 2 +- .../com/cym/controller/MainController.java | 4 ++-- src/main/resources/app.yml | 18 ++++++++++++++--- 8 files changed, 43 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 0d066fe..f6cd1a8 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,6 @@ Windows上倒是有不错的svn服务端软件即VisualSVN, 但一来Windows服 经历几次失败的图形界面配置后, 萌生了写一个现代svn服务端管理软件, 让svn的服务端管理有gitea一般的轻松体验的想法. -需要对接ldap账户体系的, 请移步该项目: https://gitee.com/cym1102/svnWebUI_ldap - #### 技术说明 本项目是基于solon的java项目, 数据库使用h2, 因此服务器上不需要安装任何数据库, 同时也兼容使用mysql @@ -79,9 +77,9 @@ Path : JDK安装目录\bin ``` Linux: mkdir /home/svnWebUI/ - wget -O /home/svnWebUI/svnWebUI.jar http://file.nginxwebui.cn/svnWebUI-1.7.7.jar + wget -O /home/svnWebUI/svnWebUI.jar http://file.nginxwebui.cn/svnWebUI-1.8.0.jar -Windows: 直接使用浏览器下载 http://file.nginxwebui.cn/svnWebUI-1.7.7.jar 到 D:/home/svnWebUI/svnWebUI.jar +Windows: 直接使用浏览器下载 http://file.nginxwebui.cn/svnWebUI-1.8.0.jar 到 D:/home/svnWebUI/svnWebUI.jar ``` 有新版本只需要修改路径中的版本即可 @@ -181,7 +179,7 @@ Type=simple User=root Group=root WorkingDirectory=/home/svnWebUI -ExecStart=/usr/bin/java -jar /home/svnWebUI/svnWebUI.jar +ExecStart=/usr/bin/java -jar -Dfile.encoding=UTF-8 /home/svnWebUI/svnWebUI.jar Restart=always [Install] diff --git a/pom.xml b/pom.xml index af7cc63..6ecd426 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.cym svnWebUI - 1.7.7 + 1.8.0 UTF-8 @@ -13,7 +13,7 @@ org.noear solon-parent - 1.9.4 + 2.2.14 @@ -27,21 +27,20 @@ org.noear solon.boot.undertow - + org.noear - solon.schedule + logback-solon-plugin - org.noear - logback-solon-plugin + solon.scheduling.simple - + cn.hutool hutool-all - 5.8.3 + 5.8.18 org.noear @@ -51,7 +50,7 @@ com.h2database h2 - 2.1.210 + 2.1.214 mysql diff --git a/src/main/java/com/cym/SvnWebUI.java b/src/main/java/com/cym/SvnWebUI.java index 21248d9..046f79b 100644 --- a/src/main/java/com/cym/SvnWebUI.java +++ b/src/main/java/com/cym/SvnWebUI.java @@ -1,7 +1,7 @@ package com.cym; import org.noear.solon.Solon; -import org.noear.solon.schedule.annotation.EnableScheduling; +import org.noear.solon.scheduling.annotation.EnableScheduling; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,7 +25,8 @@ public static void main(String[] args) { cfg.setSetting("classic_compatible", "true"); cfg.setSetting("number_format", "0.##"); }); - + + app.router().caseSensitive(true); }); } } diff --git a/src/main/java/com/cym/config/AppFilter.java b/src/main/java/com/cym/config/AppFilter.java index 229aa45..a7036bf 100644 --- a/src/main/java/com/cym/config/AppFilter.java +++ b/src/main/java/com/cym/config/AppFilter.java @@ -22,12 +22,12 @@ public class AppFilter implements Filter { @Override public void doFilter(Context ctx, FilterChain chain) throws Throwable { try { - if (ctx.path().contains("adminPage") // - && !ctx.path().contains("/adminPage/login") // - && !ctx.path().endsWith(".js") // - && !ctx.path().endsWith(".css") // - && !ctx.path().endsWith(".jpg") // - && !ctx.path().endsWith(".png") // + if (ctx.path().toLowerCase().contains("adminPage".toLowerCase()) // + && !ctx.path().toLowerCase().contains("/adminPage/login".toLowerCase()) // + && !ctx.path().toLowerCase().endsWith(".js".toLowerCase()) // + && !ctx.path().toLowerCase().endsWith(".css".toLowerCase()) // + && !ctx.path().toLowerCase().endsWith(".jpg".toLowerCase()) // + && !ctx.path().toLowerCase().endsWith(".png".toLowerCase()) // ) { // 检查登录 User user = (User) ctx.session("user"); @@ -38,10 +38,10 @@ public void doFilter(Context ctx, FilterChain chain) throws Throwable { // 检查权限 if (user.getType() == 0) { - if (ctx.path().contains("adminPage/config")// - || ctx.path().contains("adminPage/group")// - || ctx.path().contains("adminPage/repository")// - || ctx.path().contains("adminPage/user")// + if (ctx.path().toLowerCase().contains("adminPage/config".toLowerCase())// + || ctx.path().toLowerCase().contains("adminPage/group".toLowerCase())// + || ctx.path().toLowerCase().contains("adminPage/repository".toLowerCase())// + || ctx.path().toLowerCase().contains("adminPage/user".toLowerCase())// ) { ctx.redirect("/adminPage/info"); return; diff --git a/src/main/java/com/cym/config/ScheduleTask.java b/src/main/java/com/cym/config/ScheduleTask.java index f3d5342..12d40c5 100644 --- a/src/main/java/com/cym/config/ScheduleTask.java +++ b/src/main/java/com/cym/config/ScheduleTask.java @@ -6,7 +6,7 @@ import org.noear.solon.annotation.Component; import org.noear.solon.annotation.Inject; -import org.noear.solon.schedule.annotation.Scheduled; +import org.noear.solon.scheduling.annotation.Scheduled; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.tmatesoft.svn.core.ISVNLogEntryHandler; diff --git a/src/main/java/com/cym/controller/ConfigController.java b/src/main/java/com/cym/controller/ConfigController.java index c11b598..98e2506 100644 --- a/src/main/java/com/cym/controller/ConfigController.java +++ b/src/main/java/com/cym/controller/ConfigController.java @@ -199,7 +199,7 @@ public DownloadedFile dataExport(Context context) throws IOException { @Mapping(value = "dataImport") public void dataImport(UploadedFile file, Context context) throws IOException { if (file != null) { - File tempFile = new File(homeConfig.home + "temp" + File.separator + file.name); + File tempFile = new File(homeConfig.home + "temp" + File.separator + file.getName()); FileUtil.mkdir(tempFile.getParentFile()); file.transferTo(tempFile); String json = FileUtil.readString(tempFile, Charset.forName("UTF-8")); diff --git a/src/main/java/com/cym/controller/MainController.java b/src/main/java/com/cym/controller/MainController.java index 8c71770..6ede729 100644 --- a/src/main/java/com/cym/controller/MainController.java +++ b/src/main/java/com/cym/controller/MainController.java @@ -38,11 +38,11 @@ public void jump(Context ctx) { @Mapping("/adminPage/main/upload") public JsonResult upload(Context context, UploadedFile file) { try { - File temp = new File(FileUtil.getTmpDir() + "/" + file.name.replace(" ", "_")); + File temp = new File(FileUtil.getTmpDir() + "/" + file.getName().replace(" ", "_")); file.transferTo(temp); // 移动文件 - File dest = new File(homeConfig.home + "temp/" + file.name.replace(" ", "_")); + File dest = new File(homeConfig.home + "temp/" + file.getName().replace(" ", "_")); FileUtil.move(temp, dest, true); String path = dest.getPath(); diff --git a/src/main/resources/app.yml b/src/main/resources/app.yml index d9232e9..c7416af 100644 --- a/src/main/resources/app.yml +++ b/src/main/resources/app.yml @@ -11,10 +11,22 @@ project: findPass: false solon: - app.name: svnWebUI - view.mapping.html: FreemarkerRender + app: + name: svnWebUI + view: + mapping: + html: FreemarkerRender logging: - "io.undertow": + logger: + "io.undertow": + level: "WARN" + "org.xnio": + level: "WARN" + "o.xnio": + level: "WARN" + "com.zaxxer.hikari": + level: "WARN" + "org.jboss": level: "WARN" appender: file: