У меня есть следующая конфигурация Spring Security.
@Override
protected void configure(HttpSecurity http) throws Exception
{
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.permitAll();
}
Работает нормально, но я хочу иметь клиентское приложение Android, которое использует REST API. Когда я использую API в Android, приложение перенаправляет меня на страницу веб-входа. Это желательное поведение, но только в веб-приложении.
У меня есть роли, такие как Speditor, Accountant, Driver и т. Д. Все они, кроме Driver, должны иметь возможность войти в веб-приложение. На Android я хочу иметь отдельный логин, который аутентифицирует только пользователей с ролью водителя.
Проблема в том, что я не знаю, как разделить эти аутентификации, чтобы оба приложения (Web и Android) могли использовать один и тот же API. Можете дать мне совет?