Как проверить роли пользователей из заголовка запроса с конфигурацией безопасности Spring - PullRequest
0 голосов
/ 12 июня 2018

Я добавил весеннюю защиту с помощью taglibs для загрузки содержимого на основе ролей в моем приложении.Процесс аутентификации будет осуществляться внешней службой, и после успешной аутентификации внешняя служба добавит сведения о пользователе и роли в заголовке запроса.В моем приложении я должен получить роли из заголовка запроса и проверить их с помощью метода настройки безопасности Spring.

Помогите мне, как проверить роли.

Класс безопасности пружины:

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {


    @Override
    protected void configure(final HttpSecurity http) throws Exception {

        http.authorizeRequests()
            .antMatchers("/login").permitAll()
            .antMatchers("/console")
            .access("hasRole('MASTER ADMIN') or hasRole('ADMIN') or hasRole('DEV') or hasRole('QA')")
            .and()
            .formLogin()
            .defaultSuccessUrl("/console", true)
            .and().logout().logoutSuccessUrl("/login");
    }
}

Класс контроллера:

    @RequestMapping(value = "/login")
    public ModelAndView validateLogin(final HttpServletRequest request, final HttpServletResponse response) {
        final ModelAndView modelView = new ModelAndView();
        final String loginUserId = request.getParameter("USER");
        final String companyCode = request.getHeader("ROLE");
        final String firstName = request.getHeader("FIRSTNAME");
        final String lastName = request.getHeader("LASTNAME");

//** some code to validate the role details with spring security configure method ie (has access method) and return the default success url based on the role.
...