Pessoal, estou iniciando em Spring. E estou gostando muito.
Mais estou com um probleminha, estou tentando fazer com o que o spring security pare de exibir a tela padrão de login dele, e mostre uma tela customizada. Só que o que está acontecendo, mesmo criando um WebSecurityConfig, botando a anotação @Configuration, colocando extends WebSecurityConfigurerAdapter, e fazer um Override no método de configuração. O Spring não faz esse Override, exibe a tela de de login padrão do Spring para todas as solicitação, ou seja, não deixa nem eu abrir uma uma tela de cadastro de usuário.
E mesmo que eu cadastre um usuário na mão no banco de dados, ele não pega o usuário do banco, só funciona com o usuário padrão que o Spring cria.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
/*DETERMINA QUE PARA REALIZAR ESSA REQUEST PRECISA TER UMA DAS PERMISSÕES ABAIXO
* EXEMPLO DA URL: http://localhost:8095/usuario/novoCadastro
* VEJA QUE EM UM ITEM("hasRole('ADMIN')) NÃO ESTOU PASSANDO O PREFIXO ROLE_, ESSE PREFIXO NÃO É OBRIGATÓRIO
* QUANDO USAMOS o hasRole*/
.antMatchers("/usuario/novoCadastro").access("hasRole('ADMIN') or hasRole('ROLE_CADASTROUSUARIO')")
/*DETERMINA QUE PARA REALIZAR ESSA REQUEST PRECISA TER UMA DAS PERMISSÕES ABAIXO
* EXEMPLO DA URL: http://localhost:8095/usuario/consultar */
.antMatchers("/usuario/consultar").access("hasRole('ADMIN') or hasRole('CONSULTAUSUARIO')")
/*DETERMINA QUE PARA ACESSAR A PÁGINA INICIAL DA APLICAÇÃO PRECISA ESTÁ AUTENTICADO*/
.antMatchers("/home").authenticated()
.anyRequest().authenticated()
.and()
.formLogin()
/*INFORMANDO O CAMINHO DA PÁGINA DE LOGIN, E SE O LOGIN FOR EFETUADO COM SUCESSO
*O USUÁRIO DEVE SER REDIRECIONADO PARA /home(http://localhost:8095/home)*/
.loginPage("/").defaultSuccessUrl("/home",true)
.permitAll() /*AQUI ESTAMOS INFORMANDO QUE TODOS TEM ACESSO A PÁGINA DE LOGIN*/
.and()
/*AQUI ESTAMOS INFORMANDO QUE QUANDO FOR REDIRECIONADO PARA O LINK http://localhost:8095/logout
*O USUÁRIO DEVE TER SUA SESSÃO FINALIZADA E REDIRECIONADO PARA A PÁGINA DE LOGIN */
.logout()
.logoutSuccessUrl("/")
.logoutUrl("/logout")
.permitAll();
/*PÁGINA COM A MENSAGEM DE ACESSO NEGADO
*QUANDO O USUÁRIO NÃO TER UMA DETERMINADA PERMISSÃO DE ACESSO AO SISTEMA ELE VAI SER REDIRECIONADO
*PARA A URL ABAIXO */
http.exceptionHandling().accessDeniedPage("/acessoNegado");
/*AQUI ESTOU INFORMANDO QUE QUALQUER REQUEST TEM ACESSO AO DIRETÓRIO src/main/resources */
http.authorizeRequests().antMatchers("/resources/**").permitAll().anyRequest().permitAll();
}
Estou tentando seguir esse tutorial: http://www.ciceroednilson.com.br/criando-uma-aplicacao-web-com-spring-boot-thymeleaf-material-designer-lite-e-oracle-parte-4-configurando-o-spring-security/




