1
사용자가 자신의 역할에 따라 html 페이지에 액세스 할 수있게하고 싶습니다. 예를 들어 HR 역할을 가진 사람 만 settings.html 페이지를 볼 수 있어야하고 관리자 인 사람 만 pendingrequest.html을보아야합니다.스프링 보안이 적용된 역할을 기반으로 HTML 페이지에 대한 액세스를 제한하는 방법은 무엇입니까?
이 내 보안 구성입니다 : 내가 상관없이 내가 해당 페이지를 볼 수없는 무슨 역할이 작동하지 않는다 시도했다 몇 가지 이유를 들어
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DatabaseAuthenticationProvider authenticationProvider;
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/js/**", "/css/**", "/img/**");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.formLogin().loginPage("/login").failureUrl("/login").defaultSuccessUrl("/")
.and().logout().logoutSuccessUrl("/login")
.and().authorizeRequests().antMatchers("/login").permitAll()
.antMatchers("/settings.html").hasRole("HR")
.antMatchers("/pendingRequests.html").hasRole("MANAGER")
.antMatchers("/settings.html","/pendingRequests.html").hasRole("ADMIN")
.anyRequest().authenticated().and().csrf().disable();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(authenticationProvider).eraseCredentials(false);
}
}
.