mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	【功能调整】全局:默认 /app-api/* 需要登录,和 /admin-api/* 保持一致,降低大家理解成本
This commit is contained in:
		@@ -1,6 +1,5 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.security.config;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.aop.PreAuthenticatedAspect;
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.filter.TokenAuthenticationFilter;
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.handler.AccessDeniedHandlerImpl;
 | 
			
		||||
@@ -38,14 +37,6 @@ public class YudaoSecurityAutoConfiguration {
 | 
			
		||||
    @Resource
 | 
			
		||||
    private SecurityProperties securityProperties;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 处理用户未登录拦截的切面的 Bean
 | 
			
		||||
     */
 | 
			
		||||
    @Bean
 | 
			
		||||
    public PreAuthenticatedAspect preAuthenticatedAspect() {
 | 
			
		||||
        return new PreAuthenticatedAspect();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 认证失败处理类 Bean
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -138,8 +138,6 @@ public class YudaoWebSecurityConfigurerAdapter {
 | 
			
		||||
                    .requestMatchers(HttpMethod.PATCH, permitAllUrls.get(HttpMethod.PATCH).toArray(new String[0])).permitAll()
 | 
			
		||||
                    // 1.2 基于 yudao.security.permit-all-urls 无需认证
 | 
			
		||||
                    .requestMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
 | 
			
		||||
                    // 1.3 设置 App API 无需认证
 | 
			
		||||
                    .requestMatchers(buildAppApi("/**")).permitAll()
 | 
			
		||||
                )
 | 
			
		||||
                // ②:每个项目的自定义规则
 | 
			
		||||
                .authorizeHttpRequests(c -> authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(c)))
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +0,0 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.security.core.annotations;
 | 
			
		||||
 | 
			
		||||
import java.lang.annotation.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 声明用户需要登录
 | 
			
		||||
 *
 | 
			
		||||
 * 为什么不使用 {@link org.springframework.security.access.prepost.PreAuthorize} 注解,原因是不通过时,抛出的是认证不通过,而不是未登录
 | 
			
		||||
 *
 | 
			
		||||
 * @author 芋道源码
 | 
			
		||||
 */
 | 
			
		||||
@Target({ElementType.METHOD})
 | 
			
		||||
@Retention(RetentionPolicy.RUNTIME)
 | 
			
		||||
@Inherited
 | 
			
		||||
@Documented
 | 
			
		||||
public @interface PreAuthenticated {
 | 
			
		||||
}
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.security.core.aop;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
 | 
			
		||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.aspectj.lang.ProceedingJoinPoint;
 | 
			
		||||
import org.aspectj.lang.annotation.Around;
 | 
			
		||||
import org.aspectj.lang.annotation.Aspect;
 | 
			
		||||
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED;
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 | 
			
		||||
 | 
			
		||||
@Aspect
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class PreAuthenticatedAspect {
 | 
			
		||||
 | 
			
		||||
    @Around("@annotation(preAuthenticated)")
 | 
			
		||||
    public Object around(ProceedingJoinPoint joinPoint, PreAuthenticated preAuthenticated) throws Throwable {
 | 
			
		||||
        if (SecurityFrameworkUtils.getLoginUser() == null) {
 | 
			
		||||
            throw exception(UNAUTHORIZED);
 | 
			
		||||
        }
 | 
			
		||||
        return joinPoint.proceed();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user