From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- 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