Как сделать доступной одну конечную точку отдыха без какой-либо защиты, в то время как Spring-Security реализован в загрузочном приложении Spring - PullRequest
0 голосов
/ 16 февраля 2019

Мне нужно сделать одну конечную точку отдыха доступной глобально без какой-либо аутентификации, основываясь на ответе первой службы, которая подготовит токен и будет основана на аутентификации для второй службы.Так как у Spring-Security приложение всегда запрашивает реализацию входа в систему BASIC или FORM, у меня нет этого варианта использования в моем приложении.

Даже если у меня есть этот маршрут в websecurityconfig для PERMITALL, мне все равно нужна некоторая аутентификация длясвязаться с приложением

 http
    .authorizeRequests()
    .antMatchers("/v1/test").permitAll()
.anyRequest().authenticated(;

1 Ответ

0 голосов
/ 16 февраля 2019

Было бы лучше, если бы вы могли поделиться своим кодом, вот код, настраивающий безопасность Spring.В следующем коде: antMatchers с allowAll доступны без аутентификации, а antMatchers с ролью ROLE_USER доступны после входа пользователя в систему.

@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");
}
...