Spring RESTful Web Service и Android аутентификация - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть следующая конфигурация 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. Можете дать мне совет?

1 Ответ

0 голосов
/ 05 ноября 2018

У меня была такая же ситуация, с некоторыми отличиями. В моем случае я делю на 3 клиента, как на картинке ниже:

enter image description here

Но, в моем случае, у меня одинаковая аутентификация для трех пользователей / пароль. Я думаю, что есть способ сделать то, что вы пытаетесь, но вы можете начать смотреть на то, как проходить аутентификацию с разными клиентами.

Извините за английский, я не являюсь носителем языка, поэтому я работаю над этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...