Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Antonio Rueda
/
reserva-hoteles
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d9e2a877
authored
Dec 09, 2024
by
Antonio Rueda
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Creación de servicio de credenciales de usuario y de clase para
configuración de seguridad.
parent
f6093cdb
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
57 additions
and
10 deletions
src/main/java/es/ujaen/dae/reservahoteles/app/ReservaHoteles.java
src/main/java/es/ujaen/dae/reservahoteles/seguridad/ServicioCredencialesUsuario.java
src/main/java/es/ujaen/dae/reservahoteles/seguridad/ServicioSeguridad.java
src/main/java/es/ujaen/dae/reservahoteles/servicios/ServicioReservas.java
src/main/java/es/ujaen/dae/reservahoteles/app/ReservaHoteles.java
View file @
d9e2a877
...
...
@@ -5,10 +5,7 @@ import org.springframework.boot.SpringApplication;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.domain.EntityScan
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
/**
*
...
...
@@ -17,17 +14,13 @@ import org.springframework.security.crypto.password.PasswordEncoder;
@SpringBootApplication
(
scanBasePackages
={
"es.ujaen.dae.reservahoteles.servicios"
,
"es.ujaen.dae.reservahoteles.repositorios"
,
"es.ujaen.dae.reservahoteles.rest"
"es.ujaen.dae.reservahoteles.rest"
,
"es.ujaen.dae.reservahoteles.seguridad"
})
@EntityScan
(
basePackages
=
"es.ujaen.dae.reservahoteles.entidades"
)
@EnableScheduling
@EnableCaching
public
class
ReservaHoteles
{
@Bean
PasswordEncoder
passwordEncoder
()
{
return
new
BCryptPasswordEncoder
();
}
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ReservaHoteles
.
class
);
}
...
...
src/main/java/es/ujaen/dae/reservahoteles/seguridad/ServicioCredencialesUsuario.java
0 → 100644
View file @
d9e2a877
package
es
.
ujaen
.
dae
.
reservahoteles
.
seguridad
;
import
es.ujaen.dae.reservahoteles.entidades.Usuario
;
import
es.ujaen.dae.reservahoteles.servicios.ServicioReservas
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.userdetails.User
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Service
;
/**
*
* @author ajrueda
*/
@Service
public
class
ServicioCredencialesUsuario
implements
UserDetailsService
{
@Autowired
ServicioReservas
servicioReservas
;
@Override
public
UserDetails
loadUserByUsername
(
String
userName
)
throws
UsernameNotFoundException
{
Usuario
usuario
=
servicioReservas
.
buscarUsuario
(
userName
).
orElseThrow
(()->
new
UsernameNotFoundException
(
""
));
return
User
.
withUsername
(
usuario
.
email
())
.
password
(
usuario
.
clave
())
.
roles
(
usuario
.
nombre
().
equals
(
"direccion"
)
?
"DIRECCION"
:
"CLIENTE"
)
.
build
();
}
}
src/main/java/es/ujaen/dae/reservahoteles/seguridad/ServicioSeguridad.java
0 → 100644
View file @
d9e2a877
package
es
.
ujaen
.
dae
.
reservahoteles
.
seguridad
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
/**
*
* @author ajrueda
*/
@Configuration
public
class
ServicioSeguridad
{
@Bean
PasswordEncoder
passwordEncoder
()
{
return
new
BCryptPasswordEncoder
();
}
}
src/main/java/es/ujaen/dae/reservahoteles/servicios/ServicioReservas.java
View file @
d9e2a877
...
...
@@ -71,7 +71,10 @@ public class ServicioReservas {
return
repositorioClientes
.
buscar
(
email
).
filter
(
cliente
->
cliente
.
clave
().
equals
(
clave
));
}
public
Optional
<
Usuario
>
buscarUsuario
(
@Email
String
email
)
{
public
Optional
<
Usuario
>
buscarUsuario
(
String
email
)
{
if
(
email
.
equals
(
direccion
.
email
()))
return
Optional
.
of
(
direccion
);
return
repositorioClientes
.
buscar
(
email
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment