Subversion Repositories Integrator Subversion

Rev

Rev 226 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
216 espaco 1
package br.com.ec.controller.seguranca;
2
 
3
import org.springframework.beans.factory.annotation.Autowired;
4
import org.springframework.context.annotation.Bean;
5
import org.springframework.context.annotation.Configuration;
6
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
7
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
8
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
9
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
10
import org.springframework.security.core.userdetails.UserDetailsService;
11
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
12
import org.springframework.security.crypto.password.PasswordEncoder;  
13
 
14
@Configuration
15
@EnableWebSecurity
16
public class SecurityConfig extends WebSecurityConfigurerAdapter {
17
 
218 espaco 18
//    @Autowired
19
//    private UserDetailsService userDetailsService;
20
 
21
//    @Autowired
22
//    private SistemaAuthenticationProvider sistemaAuthenticationProvider;
216 espaco 23
 
218 espaco 24
//    @Override
25
//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
26
//      auth.authenticationProvider(sistemaAuthenticationProvider);
27
//      auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
28
        /*
216 espaco 29
        auth.inMemoryAuthentication()
30
        .passwordEncoder(passwordEncoder())
31
        .withUser("user").password(passwordEncoder().encode("123456")).roles("USER")
32
        .and()
33
        .withUser("admin").password(passwordEncoder().encode("123456")).roles("USER", "ADMIN")
34
        .and()
35
        .withUser("bruno").password(passwordEncoder().encode("brunolp0910")).roles("USER", "ADMIN");
218 espaco 36
        */
37
//    }
216 espaco 38
 
39
    @Bean
40
    public PasswordEncoder passwordEncoder() {
41
        return new BCryptPasswordEncoder();
42
    }
43
 
44
    @Override
45
    protected void configure(HttpSecurity http) throws Exception {
46
        http.authorizeRequests()
218 espaco 47
        .antMatchers("/sistema/login**").permitAll()
48
        .antMatchers("/sistema/**").authenticated()
216 espaco 49
                .and().authorizeRequests()
50
                .and()
51
                        .formLogin()
52
                        .loginPage("/sistema/login.xhtml")
224 espaco 53
                        .defaultSuccessUrl("/sistema/pagina_inicial.xhtml")
54
                        .failureUrl("/sistema/login.xhtml?login_error=1")
226 espaco 55
                        .loginProcessingUrl("/login").permitAll()
216 espaco 56
                .and()
218 espaco 57
                        .logout().logoutUrl("/sistema_security_logout").logoutSuccessUrl("/sistema/login.xhtml?logout=true").invalidateHttpSession(true).permitAll()
216 espaco 58
                .and().csrf().disable();
59
    }
60
 
61
}