当用户访问没有权限的URL时,Spring Security的默认行为是跳转到登录页面。这是因为Spring Security会自动应用一个AccessDeniedHandler,用于处理访问被拒绝的情况。

默认情况下,当用户访问受保护的URL但没有相应的权限时,会触发一个AccessDeniedException,然后AccessDeniedHandler将会被调用。默认的AccessDeniedHandler实现是AccessDeniedHandlerImpl,它会将用户重定向到登录页面。

如果你想自定义访问被拒绝时的处理行为,可以通过配置AccessDeniedHandler来实现。你可以创建一个实现了AccessDeniedHandler接口的自定义类,并通过ExceptionHandlingConfigurer中的accessDeniedHandler()方法来指定。

下面是一个示例,演示如何自定义访问被拒绝时的处理行为:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .antMatchers("/private/**").authenticated()
                .and()
            .exceptionHandling()
                .accessDeniedHandler(customAccessDeniedHandler())
                .and()
            .formLogin()
                .loginPage("/custom-login")
                .loginProcessingUrl("/custom-login-processing")
                .permitAll()
                .and()
            .logout()
                .logoutUrl("/custom-logout")
                .permitAll();
    }

    @Bean
    public AccessDeniedHandler customAccessDeniedHandler() {
        return new CustomAccessDeniedHandler();
    }

    // 其他配置方法...

    private static class CustomAccessDeniedHandler implements AccessDeniedHandler {

        @Override
        public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException {
            // 自定义处理逻辑
            response.sendRedirect("/custom-access-denied");
        }
    }
}

在上面的示例中,我们通过.exceptionHandling().accessDeniedHandler(customAccessDeniedHandler())来指定自定义的AccessDeniedHandler

customAccessDeniedHandler()方法中,我们返回了一个自定义的AccessDeniedHandler实现类CustomAccessDeniedHandler。在CustomAccessDeniedHandler中,我们将访问被拒绝时,将用户重定向到/custom-access-denied路径。

通过以上配置,当用户访问没有权限的URL时,会跳转到自定义的访问被拒绝处理页面。你可以根据自己的需求,实现不同的处理逻辑。