From 9af387b5b05c525909c713a0d203a6b9e7765b9e Mon Sep 17 00:00:00 2001 From: lzy <1768422698@qq.com> Date: Mon, 16 Dec 2024 14:08:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/adapter/AuthConfigAdapter.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/AuthConfigAdapter.java diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/AuthConfigAdapter.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/AuthConfigAdapter.java new file mode 100644 index 0000000..2570d41 --- /dev/null +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/AuthConfigAdapter.java @@ -0,0 +1,37 @@ +package com.yami.shop.security.common.adapter; + +import java.util.List; + +/** + * 该接口用于配置授权相关的路径信息,实现此接口后,能够方便地修改需要授权登录的路径以及不需要授权登录的路径。 + * 它为应用的权限控制中关于路径的授权配置提供了一种规范和扩展点,使得不同的应用场景可以根据自身需求灵活定义哪些路径需要授权,哪些不需要。 + * + * @author 菠萝凤梨 + * @date 2022/3/25 17:31 + */ +public interface AuthConfigAdapter { + + /** + * 定义了一个字符串常量,表示可能需要登录才可用的URL的路径匹配模式。 + * 这里的 "/**/ma/**" 是一种通配符形式的路径表达式,意味着以任意多级目录开始,中间包含 "ma" 子目录的路径都可能需要登录才能访问。 + * 实际应用中可根据具体的业务逻辑和权限控制需求对该通配符表达式进行调整或替换。 + */ + String MAYBE_AUTH_URI = "/**/ma/**"; + + /** + * 获取需要授权登录的路径列表。 + * 实现该接口的类需要通过具体的逻辑来确定并返回哪些路径是要求用户必须进行授权登录后才能访问的。 + * 例如,可能会根据业务模块、功能权限等因素来收集相应的路径集合。 + * + * @return 需要授权登陆的路径列表,列表中的每个元素为一个具体的路径表达式(通常采用类似通配符等格式来表示一批路径) + */ + List pathPatterns(); + + /** + * 获取不需要授权登录的路径列表。 + * 同样,实现此接口的类要依据业务规则来明确哪些路径是无需用户授权登录就能直接访问的,比如一些公开的页面(如登录页面、注册页面、网站首页等常规对外公开的资源路径)。 + * + * @return 不需要授权登陆的路径列表,列表中的元素为具体的不需要授权的路径表达式 + */ + List excludePathPatterns(); +} \ No newline at end of file