SlideShare uma empresa Scribd logo
Frameworks para
Desenvolvimento web em
Java
Aula 04 - Spring Security
Spring Security
● Framework para controle de acesso a
sistemas criado em 2003 com licença
Apache 2.0;
● Altamente customizavel;
● Simples e fácil de integrar com vários tipos
de framework;
● Utilizado por grandes corporações desde
agências do governo, bancos e instituições
militares;
Spring Security - Funcionalidades
● Controle de acesso HTTP e HTTPS;
● Configuração não intrusiva;
● Utilização não invasiva, utilizando AOP;
● Controle de acesso a métodos das regras de
negócio;
● Encoder da senha
● Tipos de autenticação:
○ OpenID
○ LDAP
○ Basic authentication HTTP
○ Base de dados Todos tipos de autenticação:
http://docs.spring.io/spring-security/site/docs/3.2.x/refere
nce/html/introduction.html
Funcionamento básico
URL Filtros Spring
Usuários
Permissões
Exige Permissão? Analisa
Download com Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Para projetos com Spring-boot:
Configuração Básica
● Com o Spring-boot já vem configurado por
padrão:
○ Bloqueio de URL
○ Usuário e senha em memória
○ Liberação de arquivos static/resource
○ Gera uma senha padrão para testes
● Todas as configurações podem ser
reescritas.
Trocando usuário e senha padrão
● No arquivo application.properties
○ security.user.name=meuUsuario
○ security.user.password=minhaSenha
○ security.user.role=admin
Prática
● Executar o primeiro teste com o
spring-security
Customizando form de login
● Deverá ser criada uma classe para
customizar os comportamentos do Spring
● Esta classe pode estender de
WebSecurityConfigurerAdapter para
facilitar a configuração.
● Para o Spring reconhecer a configurar
deverá ser criado um Bean na classe
principal de configuração.
Customizando form de login
Classe de configuração para WebSecurity
Criação do Bean na classe Main
Customizando form de login
Configurando o formulário. Deve ser configurado
na classe WebSecurityConfig
Customizando form de login
Criar página jsp para o login
Customizando form de login
Controlador para tratar erros e logout
Liberar URL's
Autenticação com Base de dados
Deve ser criada uma classe de Serviço que implementa a interface
UserDetailService e configurar na classe WebSecurityConfig.
Diagrama Usuários e Permissões
Service - UsuarioService
Usuario - UsuarioDetails
UsuarioPermissao - GrantedAuthority
Classe usuário método que busca permissões
Usuário da Sessão
● Anotar o métodos com a regra de segurança
Segurança nos métodos
@EnableGlobalMethodSecurity(securedEnabled=true, prePostEnabled=true)
● Configurar WebSecurityConfig para interceptar
anotações de segurança nos métodos
Segurança nos métodos
● Liberar para anonimos utilizarem
○ @Secured("IS_AUTHENTICATED_ANONYMOUSLY")
● Pode ser utilizado JSR-255
public interface BankService {
@PreAuthorize("isAnonymous()")
public Account readAccount(Long id);
@PreAuthorize("isAnonymous()")
public Account[] findAccounts();
@PreAuthorize("hasAuthority('ROLE_TELLER')")
public Account post(Account account, double amount);
}
<global-method-security jsr250-annotations="enabled" />
Prática

Mais conteúdo relacionado

Mais procurados

Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Serhat Can
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
tola99
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
BG Java EE Course
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
Joshua Long
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
 
WebLogic Scripting Tool Overview
WebLogic Scripting Tool OverviewWebLogic Scripting Tool Overview
WebLogic Scripting Tool Overview
James Bayer
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Pei-Tang Huang
 
Why Vue.js?
Why Vue.js?Why Vue.js?
Why Vue.js?
Jonathan Goode
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
Alex Movila
 
Spring boot
Spring bootSpring boot
Spring boot
Pradeep Shanmugam
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
Muthuselvam RS
 
Spring boot
Spring bootSpring boot
Spring boot
Bhagwat Kumar
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
ASG
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVC
Messias Batista
 
Vue.js
Vue.jsVue.js
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
Knoldus Inc.
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
Rasheed Waraich
 
Deep dive into Vue.js
Deep dive into Vue.jsDeep dive into Vue.js
Deep dive into Vue.js
선협 이
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
Naphachara Rattanawilai
 
Swagger UI
Swagger UISwagger UI
Swagger UI
Walaa Hamdy Assy
 

Mais procurados (20)

Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
WebLogic Scripting Tool Overview
WebLogic Scripting Tool OverviewWebLogic Scripting Tool Overview
WebLogic Scripting Tool Overview
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Why Vue.js?
Why Vue.js?Why Vue.js?
Why Vue.js?
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVC
 
Vue.js
Vue.jsVue.js
Vue.js
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
Deep dive into Vue.js
Deep dive into Vue.jsDeep dive into Vue.js
Deep dive into Vue.js
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
 
Swagger UI
Swagger UISwagger UI
Swagger UI
 

Destaque

Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
André Luiz Forchesatto
 
Aplicações Web com JSF e JPA
Aplicações Web com JSF e JPAAplicações Web com JSF e JPA
Aplicações Web com JSF e JPA
Totem Treinamentos
 
Test-Driven Development - Introdução ao método de construção de software guia...
Test-Driven Development - Introdução ao método de construção de software guia...Test-Driven Development - Introdução ao método de construção de software guia...
Test-Driven Development - Introdução ao método de construção de software guia...
Thiago Faria de Andrade
 
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Rodrigo Ferreira
 
Integração Java EE e VoIP
Integração Java EE e VoIPIntegração Java EE e VoIP
Integração Java EE e VoIP
Thiago Faria de Andrade
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
Dalton Valadares
 
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
Juliano Oliveira
 
Spring Security
Spring SecuritySpring Security
Spring Security
Boy Tech
 
33 design patterns com Java
33 design patterns com Java33 design patterns com Java
33 design patterns com Java
Globalcode
 

Destaque (12)

Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
 
Aplicações Web com JSF e JPA
Aplicações Web com JSF e JPAAplicações Web com JSF e JPA
Aplicações Web com JSF e JPA
 
Test-Driven Development - Introdução ao método de construção de software guia...
Test-Driven Development - Introdução ao método de construção de software guia...Test-Driven Development - Introdução ao método de construção de software guia...
Test-Driven Development - Introdução ao método de construção de software guia...
 
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
 
Integração Java EE e VoIP
Integração Java EE e VoIPIntegração Java EE e VoIP
Integração Java EE e VoIP
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Design patterns de uma vez por todas
Design patterns de uma vez por todasDesign patterns de uma vez por todas
Design patterns de uma vez por todas
 
33 design patterns com Java
33 design patterns com Java33 design patterns com Java
33 design patterns com Java
 

Semelhante a Spring Security e Spring Boot Aula - 2018

Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
Rodrigo Cândido da Silva
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
Rodrigo Cândido da Silva
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
Spring social
Spring socialSpring social
Spring social
Adriana Telles
 
[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity
Bruno Brandes
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
AlexSandro Cruz
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconDesenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Bruno Rocha
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
Qualister
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
Bruno Luiz Pereira da Silva
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
DanielChristofolli
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 
Segurança e Controle de errros
Segurança e Controle de errrosSegurança e Controle de errros
Segurança e Controle de errros
Denis L Presciliano
 
Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)
Rogerio Cordeiro
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
Eduardo Cesar
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
Rodrigo Cândido da Silva
 
Aula 02 view state - session - validações
Aula 02   view state - session - validaçõesAula 02   view state - session - validações
Aula 02 view state - session - validaçõesGabriel Bugano
 

Semelhante a Spring Security e Spring Boot Aula - 2018 (20)

Workshop05
Workshop05Workshop05
Workshop05
 
Segurança J2EE
Segurança J2EESegurança J2EE
Segurança J2EE
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Spring social
Spring socialSpring social
Spring social
 
[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconDesenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Segurança e Controle de errros
Segurança e Controle de errrosSegurança e Controle de errros
Segurança e Controle de errros
 
Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)Programando extensões para Internet Explorer (Webslices e Aceleradores)
Programando extensões para Internet Explorer (Webslices e Aceleradores)
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
 
Aula 02 view state - session - validações
Aula 02   view state - session - validaçõesAula 02   view state - session - validações
Aula 02 view state - session - validações
 

Mais de André Luiz Forchesatto

Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
André Luiz Forchesatto
 
Avaliacao2017
Avaliacao2017Avaliacao2017
Avaliacao jsf utfpr
Avaliacao jsf utfprAvaliacao jsf utfpr
Avaliacao jsf utfpr
André Luiz Forchesatto
 
Interfaces ricas JSF
Interfaces ricas JSF Interfaces ricas JSF
Interfaces ricas JSF
André Luiz Forchesatto
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
André Luiz Forchesatto
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
André Luiz Forchesatto
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
André Luiz Forchesatto
 
Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2
André Luiz Forchesatto
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
André Luiz Forchesatto
 
Palestra Java 8 - V Boot
Palestra Java 8 - V BootPalestra Java 8 - V Boot
Palestra Java 8 - V Boot
André Luiz Forchesatto
 
Redes sociais
Redes sociaisRedes sociais
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
André Luiz Forchesatto
 
Spring data
Spring dataSpring data

Mais de André Luiz Forchesatto (13)

Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Avaliacao2017
Avaliacao2017Avaliacao2017
Avaliacao2017
 
Avaliacao jsf utfpr
Avaliacao jsf utfprAvaliacao jsf utfpr
Avaliacao jsf utfpr
 
Interfaces ricas JSF
Interfaces ricas JSF Interfaces ricas JSF
Interfaces ricas JSF
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Palestra Java 8 - V Boot
Palestra Java 8 - V BootPalestra Java 8 - V Boot
Palestra Java 8 - V Boot
 
Redes sociais
Redes sociaisRedes sociais
Redes sociais
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Spring data
Spring dataSpring data
Spring data
 

Último

Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédio
ifbauab
 
Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)
Centro Jacques Delors
 
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
"Está o lascivo e   doce passarinho " de Luís Vaz de Camões"Está o lascivo e   doce passarinho " de Luís Vaz de Camões
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
goncalopecurto
 
Saudações e como se apresentar em português
Saudações e como se apresentar em portuguêsSaudações e como se apresentar em português
Saudações e como se apresentar em português
jacctradutora
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
Acrópole - História & Educação
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
Manuais Formação
 
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdfcurso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
LeandroTelesRocha2
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
Mary Alvarenga
 
Manejo de feridas - Classificação e cuidados.
Manejo de feridas - Classificação e cuidados.Manejo de feridas - Classificação e cuidados.
Manejo de feridas - Classificação e cuidados.
RafaelNeves651350
 
Profissão de Sociólogo - Bourdieu et al.
Profissão de Sociólogo - Bourdieu et al.Profissão de Sociólogo - Bourdieu et al.
Profissão de Sociólogo - Bourdieu et al.
FelipeCavalcantiFerr
 
Anatomia I - Aparelho Locomotor e Cardiovascular
Anatomia I - Aparelho Locomotor e CardiovascularAnatomia I - Aparelho Locomotor e Cardiovascular
Anatomia I - Aparelho Locomotor e Cardiovascular
PatrickMuniz8
 
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
CrislaineSouzaSantos
 
Acróstico - Reciclar é preciso
Acróstico   -  Reciclar é preciso Acróstico   -  Reciclar é preciso
Acróstico - Reciclar é preciso
Mary Alvarenga
 
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdfTesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
Editora
 
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptxMÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
Martin M Flynn
 
Roteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptxRoteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptx
pamellaaraujo10
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados Nacionais
Valéria Shoujofan
 
Sequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental ISequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental I
Letras Mágicas
 
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdfCorreção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Edilson431302
 
o que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sulo que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sul
CarlaInsStaub
 

Último (20)

Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédio
 
Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)
 
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
"Está o lascivo e   doce passarinho " de Luís Vaz de Camões"Está o lascivo e   doce passarinho " de Luís Vaz de Camões
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
 
Saudações e como se apresentar em português
Saudações e como se apresentar em portuguêsSaudações e como se apresentar em português
Saudações e como se apresentar em português
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
 
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdfcurso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
curso-de-direito-administrativo-celso-antonio-bandeira-de-mello_compress.pdf
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
 
Manejo de feridas - Classificação e cuidados.
Manejo de feridas - Classificação e cuidados.Manejo de feridas - Classificação e cuidados.
Manejo de feridas - Classificação e cuidados.
 
Profissão de Sociólogo - Bourdieu et al.
Profissão de Sociólogo - Bourdieu et al.Profissão de Sociólogo - Bourdieu et al.
Profissão de Sociólogo - Bourdieu et al.
 
Anatomia I - Aparelho Locomotor e Cardiovascular
Anatomia I - Aparelho Locomotor e CardiovascularAnatomia I - Aparelho Locomotor e Cardiovascular
Anatomia I - Aparelho Locomotor e Cardiovascular
 
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
AULA-8-PARTE-2-MODELO-DE-SITE-EDITÁVEL-ENTREGA2-CURRICULARIZAÇÃO-DA-EXTENSÃO-...
 
Acróstico - Reciclar é preciso
Acróstico   -  Reciclar é preciso Acróstico   -  Reciclar é preciso
Acróstico - Reciclar é preciso
 
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdfTesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
Tesis de Maestría de Pedro Sousa de Andrade (Resumen).pdf
 
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptxMÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
 
Roteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptxRoteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptx
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados Nacionais
 
Sequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental ISequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental I
 
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdfCorreção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
 
o que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sulo que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sul
 

Spring Security e Spring Boot Aula - 2018

  • 1. Frameworks para Desenvolvimento web em Java Aula 04 - Spring Security
  • 2. Spring Security ● Framework para controle de acesso a sistemas criado em 2003 com licença Apache 2.0; ● Altamente customizavel; ● Simples e fácil de integrar com vários tipos de framework; ● Utilizado por grandes corporações desde agências do governo, bancos e instituições militares;
  • 3. Spring Security - Funcionalidades ● Controle de acesso HTTP e HTTPS; ● Configuração não intrusiva; ● Utilização não invasiva, utilizando AOP; ● Controle de acesso a métodos das regras de negócio; ● Encoder da senha ● Tipos de autenticação: ○ OpenID ○ LDAP ○ Basic authentication HTTP ○ Base de dados Todos tipos de autenticação: http://docs.spring.io/spring-security/site/docs/3.2.x/refere nce/html/introduction.html
  • 4. Funcionamento básico URL Filtros Spring Usuários Permissões Exige Permissão? Analisa
  • 6. Configuração Básica ● Com o Spring-boot já vem configurado por padrão: ○ Bloqueio de URL ○ Usuário e senha em memória ○ Liberação de arquivos static/resource ○ Gera uma senha padrão para testes ● Todas as configurações podem ser reescritas.
  • 7. Trocando usuário e senha padrão ● No arquivo application.properties ○ security.user.name=meuUsuario ○ security.user.password=minhaSenha ○ security.user.role=admin
  • 8. Prática ● Executar o primeiro teste com o spring-security
  • 9. Customizando form de login ● Deverá ser criada uma classe para customizar os comportamentos do Spring ● Esta classe pode estender de WebSecurityConfigurerAdapter para facilitar a configuração. ● Para o Spring reconhecer a configurar deverá ser criado um Bean na classe principal de configuração.
  • 10. Customizando form de login Classe de configuração para WebSecurity Criação do Bean na classe Main
  • 11. Customizando form de login Configurando o formulário. Deve ser configurado na classe WebSecurityConfig
  • 12. Customizando form de login Criar página jsp para o login
  • 13. Customizando form de login Controlador para tratar erros e logout
  • 15. Autenticação com Base de dados Deve ser criada uma classe de Serviço que implementa a interface UserDetailService e configurar na classe WebSecurityConfig.
  • 16. Diagrama Usuários e Permissões
  • 19. UsuarioPermissao - GrantedAuthority Classe usuário método que busca permissões
  • 21. ● Anotar o métodos com a regra de segurança Segurança nos métodos @EnableGlobalMethodSecurity(securedEnabled=true, prePostEnabled=true) ● Configurar WebSecurityConfig para interceptar anotações de segurança nos métodos
  • 22. Segurança nos métodos ● Liberar para anonimos utilizarem ○ @Secured("IS_AUTHENTICATED_ANONYMOUSLY") ● Pode ser utilizado JSR-255 public interface BankService { @PreAuthorize("isAnonymous()") public Account readAccount(Long id); @PreAuthorize("isAnonymous()") public Account[] findAccounts(); @PreAuthorize("hasAuthority('ROLE_TELLER')") public Account post(Account account, double amount); } <global-method-security jsr250-annotations="enabled" />