From 9b4433fddf5b401edb0aace8a404ac733b122702 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期四, 03 四月 2025 14:35:02 +0800
Subject: [PATCH] 添加非密字段显示
---
Source/BladeX-Tool/blade-core-secure/src/main/java/org/springblade/core/secure/registry/SecureRegistry.java | 196 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 196 insertions(+), 0 deletions(-)
diff --git a/Source/BladeX-Tool/blade-core-secure/src/main/java/org/springblade/core/secure/registry/SecureRegistry.java b/Source/BladeX-Tool/blade-core-secure/src/main/java/org/springblade/core/secure/registry/SecureRegistry.java
new file mode 100644
index 0000000..bb8ffc4
--- /dev/null
+++ b/Source/BladeX-Tool/blade-core-secure/src/main/java/org/springblade/core/secure/registry/SecureRegistry.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package org.springblade.core.secure.registry;
+
+import lombok.Data;
+import org.springblade.core.secure.props.AuthSecure;
+import org.springblade.core.secure.props.BasicSecure;
+import org.springblade.core.secure.props.SignSecure;
+import org.springblade.core.secure.provider.HttpMethod;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 瀹夊叏妗嗘灦缁熶竴閰嶇疆
+ *
+ * @author Chill
+ */
+@Data
+public class SecureRegistry {
+
+ /**
+ * 鏄惁寮�鍚壌鏉�
+ */
+ private boolean enabled = false;
+
+ /**
+ * 鏄惁寮�鍚巿鏉�
+ */
+ private boolean authEnabled = true;
+
+ /**
+ * 鏄惁寮�鍚熀纭�璁よ瘉
+ */
+ private boolean basicEnabled = true;
+
+ /**
+ * 鏄惁寮�鍚鍚嶈璇�
+ */
+ private boolean signEnabled = true;
+
+ /**
+ * 鏄惁寮�鍚鎴风璁よ瘉
+ */
+ private boolean clientEnabled = true;
+
+ /**
+ * 榛樿鏀捐瑙勫垯
+ */
+ private final List<String> defaultExcludePatterns = new ArrayList<>();
+
+ /**
+ * 鑷畾涔夋斁琛岃鍒�
+ */
+ private final List<String> excludePatterns = new ArrayList<>();
+
+ /**
+ * 鑷畾涔夋巿鏉冮泦鍚�
+ */
+ private final List<AuthSecure> authSecures = new ArrayList<>();
+
+ /**
+ * 鍩虹璁よ瘉闆嗗悎
+ */
+ private final List<BasicSecure> basicSecures = new ArrayList<>();
+
+ /**
+ * 绛惧悕璁よ瘉闆嗗悎
+ */
+ private final List<SignSecure> signSecures = new ArrayList<>();
+
+ public SecureRegistry() {
+ this.defaultExcludePatterns.add("/actuator/health/**");
+ this.defaultExcludePatterns.add("/v2/api-docs/**");
+ this.defaultExcludePatterns.add("/auth/**");
+ this.defaultExcludePatterns.add("/token/**");
+ this.defaultExcludePatterns.add("/log/**");
+ this.defaultExcludePatterns.add("/menu/routes");
+ this.defaultExcludePatterns.add("/menu/auth-routes");
+ this.defaultExcludePatterns.add("/menu/top-menu");
+ this.defaultExcludePatterns.add("/process/resource-view");
+ this.defaultExcludePatterns.add("/process/diagram-view");
+ this.defaultExcludePatterns.add("/manager/check-upload");
+ this.defaultExcludePatterns.add("/error/**");
+ this.defaultExcludePatterns.add("/assets/**");
+ }
+
+ /**
+ * 璁剧疆鍗曚釜鏀捐api
+ */
+ public SecureRegistry excludePathPattern(String pattern) {
+ this.excludePatterns.add(pattern);
+ return this;
+ }
+
+ /**
+ * 璁剧疆鏀捐api闆嗗悎
+ */
+ public SecureRegistry excludePathPatterns(String... patterns) {
+ this.excludePatterns.addAll(Arrays.asList(patterns));
+ return this;
+ }
+
+ /**
+ * 璁剧疆鏀捐api闆嗗悎
+ */
+ public SecureRegistry excludePathPatterns(List<String> patterns) {
+ this.excludePatterns.addAll(patterns);
+ return this;
+ }
+
+ /**
+ * 璁剧疆鍗曚釜鑷畾涔夋巿鏉�
+ */
+ public SecureRegistry addAuthPattern(HttpMethod method, String pattern, String expression) {
+ this.authSecures.add(new AuthSecure(method, pattern, expression));
+ return this;
+ }
+
+ /**
+ * 璁剧疆鑷畾涔夋巿鏉冮泦鍚�
+ */
+ public SecureRegistry addAuthPatterns(List<AuthSecure> authSecures) {
+ this.authSecures.addAll(authSecures);
+ return this;
+ }
+
+ /**
+ * 杩斿洖鑷畾涔夋巿鏉冮泦鍚�
+ */
+ public List<AuthSecure> getAuthSecures() {
+ return this.authSecures;
+ }
+
+ /**
+ * 璁剧疆鍩虹璁よ瘉
+ */
+ public SecureRegistry addBasicPattern(HttpMethod method, String pattern, String username, String password) {
+ this.basicSecures.add(new BasicSecure(method, pattern, username, password));
+ return this;
+ }
+
+ /**
+ * 璁剧疆鍩虹璁よ瘉闆嗗悎
+ */
+ public SecureRegistry addBasicPatterns(List<BasicSecure> basicSecures) {
+ this.basicSecures.addAll(basicSecures);
+ return this;
+ }
+
+ /**
+ * 杩斿洖鍩虹璁よ瘉闆嗗悎
+ */
+ public List<BasicSecure> getBasicSecures() {
+ return this.basicSecures;
+ }
+
+ /**
+ * 璁剧疆绛惧悕璁よ瘉
+ */
+ public SecureRegistry addSignPattern(HttpMethod method, String pattern, String crypto) {
+ this.signSecures.add(new SignSecure(method, pattern, crypto));
+ return this;
+ }
+
+ /**
+ * 璁剧疆绛惧悕璁よ瘉闆嗗悎
+ */
+ public SecureRegistry addSignPatterns(List<SignSecure> signSecures) {
+ this.signSecures.addAll(signSecures);
+ return this;
+ }
+
+ /**
+ * 杩斿洖绛惧悕璁よ瘉闆嗗悎
+ */
+ public List<SignSecure> getSignSecures() {
+ return this.signSecures;
+ }
+
+}
--
Gitblit v1.9.3