В настоящее время JHipster создает контроллеры с путем /api
на каждом контроллере.Я хочу сделать этот путь как /xyz/api
(общий) для каждого контроллера, поэтому я удалил /api
с каждого контроллера и добавил servletContext
в application.yml.Ниже приведен код для него:
server:
servlet:
session:
cookie:
http-only: true
contextPath: /xyz/api
Я также изменил настройки безопасности, как показано ниже:
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.addFilterBefore(this.corsFilter, UsernamePasswordAuthenticationFilter.class).exceptionHandling()
.authenticationEntryPoint(this.problemSupport).accessDeniedHandler(this.problemSupport).and().csrf()
.disable().headers().frameOptions().disable().and().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
.antMatchers("/xyz/api/register").permitAll().antMatchers("/xyz/api/activate").permitAll()
.antMatchers("/xyz/api/authenticate").permitAll()
.antMatchers("/xyz/api/account/reset-password/init").permitAll()
.antMatchers("/xyz/api/account/reset-password/finish").permitAll().antMatchers("/xyz/api/**")
.authenticated().antMatchers("/xyz/api/management/health").permitAll()
.antMatchers("/xyz/api/management/info").permitAll().antMatchers("/xyz/api/management/**")
.hasAuthority(AuthoritiesConstants.ADMIN).antMatchers("/xyz/api/v2/api-docs/**").permitAll()
.antMatchers("/xyz/api/swagger-resources/configuration/ui").permitAll()
.antMatchers("/xyz/api/swagger-ui/index.html").hasAuthority(AuthoritiesConstants.ADMIN)
.and()
.apply(this.securityConfigurerAdapter());
}
Теперь, когда я запускаю это приложение, оно автоматически регистрируется как анонимный пользователь.Я отметил, что служба /account
вызывается при загрузке приложения и получает информацию об анонимном пользователе.До этих изменений /account
показывал 401 not authorized
ошибку.
Что мне здесь не хватает?Почему это логин как аноним?
Заранее спасибо.