Я добавил весеннюю защиту с помощью 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.