Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
BackEnd-V2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Joel Andres Molina Velez
BackEnd-V2
Commits
985e1d92
Commit
985e1d92
authored
Jul 11, 2023
by
Joel Andres Molina Velez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Se agrega el servicio para saber los datos del usuario autenticado
parent
12f6c8ca
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
2 deletions
+66
-2
DaoUzyTUsuario.java
...ec/edu/espe/movilidad/MovilidadWS/Dao/DaoUzyTUsuario.java
+4
-0
DtoUserLogeado.java
...ec/edu/espe/movilidad/MovilidadWS/Dto/DtoUserLogeado.java
+18
-0
DtoUzyTUsuario.java
...ec/edu/espe/movilidad/MovilidadWS/Dto/DtoUzyTUsuario.java
+2
-2
ModelUzyTUsuario.java
...du/espe/movilidad/MovilidadWS/Model/ModelUzyTUsuario.java
+6
-0
JwtAuthenticationFilter.java
...vilidad/MovilidadWS/Security/JwtAuthenticationFilter.java
+15
-0
JwtUserDetailsService.java
...movilidad/MovilidadWS/Security/JwtUserDetailsService.java
+21
-0
No files found.
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Dao/DaoUzyTUsuario.java
View file @
985e1d92
...
...
@@ -30,5 +30,9 @@ public interface DaoUzyTUsuario extends JpaRepository<ModelUzyTUsuario, Long> {
ModelUzyTUsuario
findByEmail
(
@Param
(
"email"
)
String
email
);
@Query
(
"SELECT u FROM ModelUzyTUsuario u WHERE u.uzytusuario_nombres = :username"
)
ModelUzyTUsuario
findByUsername
(
@Param
(
"username"
)
String
username
);
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Dto/DtoUserLogeado.java
0 → 100644
View file @
985e1d92
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Dto
;
import
lombok.Data
;
@Data
public
class
DtoUserLogeado
{
private
Long
uzytusuario_id
;
private
String
uzytusuario_clave
;
private
String
uzytusuario_nombres
;
private
String
uzytusuario_apellidos
;
private
String
uzytusuario_email
;
private
String
uzytusuario_tipo_user
;
private
String
uzytusuario_email_institucional
;
private
String
uzytusuario_telefono_fijo
;
private
String
uzytusuario_telefono_celular
;
private
String
spriden_id
;
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Dto/DtoUzyTUsuario.java
View file @
985e1d92
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Dto
;
import
lombok.Data
;
import
java.util.Date
;
@Data
...
...
@@ -31,5 +30,6 @@ public class DtoUzyTUsuario {
private
String
uzytusuario_clave_tmp
;
private
String
spbpers_name_prefix
;
private
String
spbpers_sex
;
private
String
uzytusuario_campus
;
private
String
uzytusuario_departamento
;
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Model/ModelUzyTUsuario.java
View file @
985e1d92
...
...
@@ -94,6 +94,12 @@ public class ModelUzyTUsuario {
@Column
(
name
=
"spbpers_sex"
)
private
String
spbpers_sex
;
@Column
(
name
=
"uzytusuario_campus"
)
private
String
uzytusuario_campus
;
@Column
(
name
=
"uzytusuario_departamento"
)
private
String
uzytusuario_departamento
;
public
String
getUzytusuario_tipo_user
()
{
return
uzytusuario_tipo_user
;
}
...
...
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Security/JwtAuthenticationFilter.java
View file @
985e1d92
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Security
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUserLogeado
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.security.core.context.SecurityContextHolder
;
...
...
@@ -43,6 +45,19 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
}
}
if
(
request
.
getRequestURI
().
equals
(
"/api/v1.0/usuarioLogeado"
))
{
String
username
=
SecurityContextHolder
.
getContext
().
getAuthentication
().
getName
();
//Se obtiene el nombre del uuario autenticado
DtoUserLogeado
userInfo
=
jwtUserDetailsService
.
getUserInfoByUsername
(
username
);
//Se devuelve los datos en formato JSON
ObjectMapper
objectMapper
=
new
ObjectMapper
();
String
jsonResponse
=
objectMapper
.
writeValueAsString
(
userInfo
);
response
.
setContentType
(
"application/json"
);
response
.
getWriter
().
write
(
jsonResponse
);
return
;
}
filterChain
.
doFilter
(
request
,
response
);
}
...
...
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Security/JwtUserDetailsService.java
View file @
985e1d92
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Security
;
import
ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTUsuario
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUserLogeado
;
import
ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTUsuario
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.userdetails.User
;
...
...
@@ -33,5 +34,25 @@ public class JwtUserDetailsService implements UserDetailsService {
.
build
();
}
public
DtoUserLogeado
getUserInfoByUsername
(
String
username
)
{
ModelUzyTUsuario
user
=
userRepository
.
findByEmail
(
username
);
if
(
user
==
null
)
{
throw
new
UsernameNotFoundException
(
"Usuario no encontrado"
);
}
DtoUserLogeado
userInfo
=
new
DtoUserLogeado
();
userInfo
.
setUzytusuario_id
(
user
.
getUzytusuario_id
());
userInfo
.
setUzytusuario_clave
(
user
.
getUzytusuario_clave
());
userInfo
.
setUzytusuario_nombres
(
user
.
getUzytusuario_nombres
());
userInfo
.
setUzytusuario_email
(
user
.
getUzytusuario_email
());
userInfo
.
setUzytusuario_email_institucional
(
user
.
getUzytusuario_email_institucional
());
userInfo
.
setUzytusuario_apellidos
(
user
.
getUzytusuario_apellidos
());
userInfo
.
setUzytusuario_telefono_celular
(
user
.
getUzytusuario_telefono_celular
());
userInfo
.
setUzytusuario_telefono_fijo
(
user
.
getUzytusuario_telefono_fijo
());
userInfo
.
setSpriden_id
(
user
.
getSpriden_id
());
return
userInfo
;
}
}
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