如何在没有任何安全性的情况下访问一个休息端点,同时在spring boot应用程序中实现spring-security

问题描述 投票:0回答:1

我需要在没有任何身份验证的情况下全局使用一个休息端点,基于第一个服务的响应将准备令牌,并将基于第二个服务的身份验证。由于具有spring-security,应用程序总是要求实现BASIC或FORM登录,我的应用程序中没有这个用例。

即使我在websecurityconfig中使用此路由到PERMITALL,仍需要一些身份验证才能联系该应用程序

 http
    .authorizeRequests()
    .antMatchers("/v1/test").permitAll()
.anyRequest().authenticated(;
java spring spring-boot spring-security spring-session
1个回答
0
投票

如果你可以分享你的代码会更好,这里是配置弹簧安全性的代码。在以下代码中:带有permitAll的antMatchers无需身份验证即可访问,并且用户登录后可以访问角色为ROLE_USER的antMatchers。

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .antMatchers("/", "/home", "/user/register").permitAll()
            .antMatchers("/user/**").access("hasRole('ROLE_USER')")
            .and()
        .formLogin()    
            .loginPage("/login")
            .failureUrl("/login?error")
            .defaultSuccessUrl("/dashboard")    
            .usernameParameter("username")
            .passwordParameter("password")
            .and()
        .logout()
            .logoutSuccessUrl("/login?logout")  
            .and()
        .exceptionHandling()
            .accessDeniedPage("/403");
}
© www.soinside.com 2019 - 2024. All rights reserved.