|
|
|
@ -0,0 +1,53 @@
|
|
|
|
|
package com.yami.shop.security.common.adapter;
|
|
|
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* DefaultAuthConfigAdapter类实现了AuthConfigAdapter接口,主要用于配置认证相关的路径规则。
|
|
|
|
|
* 它定义了哪些路径需要进行认证(通过pathPatterns方法)以及哪些路径不需要进行认证(通过excludePathPatterns方法),
|
|
|
|
|
* 在整个应用的安全认证体系中起着路径筛选和配置的作用。
|
|
|
|
|
*
|
|
|
|
|
* @author 菠萝凤梨
|
|
|
|
|
* @date 2022/3/25 17:33
|
|
|
|
|
*/
|
|
|
|
|
public class DefaultAuthConfigAdapter implements AuthConfigAdapter {
|
|
|
|
|
// 创建一个日志记录器,用于记录与该类相关的日志信息,方便在运行时排查问题、了解类的执行情况等,这里记录器的名称为DefaultAuthConfigAdapter类的全限定名
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(DefaultAuthConfigAdapter.class);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构造方法,在实例化DefaultAuthConfigAdapter对象时会被调用。
|
|
|
|
|
* 此构造方法中主要通过日志记录器输出一条信息,提示没有实现其他的AuthConfigAdapter,当前使用的是DefaultAuthConfigAdapter,
|
|
|
|
|
* 并且表示所有的URL都需要进行认证(这是基于当前默认实现的规则设定,具体可能根据业务需求在子类中进行重写来改变)。
|
|
|
|
|
*/
|
|
|
|
|
public DefaultAuthConfigAdapter() {
|
|
|
|
|
logger.info("not implement other AuthConfigAdapter, use DefaultAuthConfigAdapter... all url need auth...");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* pathPatterns方法实现了AuthConfigAdapter接口中定义的方法,用于返回需要进行认证的路径模式列表。
|
|
|
|
|
* 在当前的默认实现中,返回一个包含通配符“/*”的列表,表示所有的路径都需要进行认证,
|
|
|
|
|
* 当然,具体的业务场景下如果有更精细的认证路径需求,可以通过继承该类并重写此方法来实现不同的路径配置。
|
|
|
|
|
*
|
|
|
|
|
* @return 返回一个List<String>类型的列表,其中元素为需要进行认证的路径模式,当前默认返回包含“/*”的列表,表示所有路径。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<String> pathPatterns() {
|
|
|
|
|
return Collections.singletonList("/*");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* excludePathPatterns方法同样是实现AuthConfigAdapter接口定义的方法,用于返回不需要进行认证的路径模式列表。
|
|
|
|
|
* 在当前默认实现中,返回一个空的列表,表示没有任何路径被排除在认证之外,即所有路径都按照pathPatterns方法定义的规则进行认证,
|
|
|
|
|
* 同样,可根据实际业务需求在子类中重写此方法来指定特定的不需要认证的路径。
|
|
|
|
|
*
|
|
|
|
|
* @return 返回一个List<String>类型的列表,其中元素为不需要进行认证的路径模式,当前默认返回空列表,表示无排除路径。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<String> excludePathPatterns() {
|
|
|
|
|
return Collections.emptyList();
|
|
|
|
|
}
|
|
|
|
|
}
|