====== Inicio de Sesion ======
title inicio de sesion
participant "Usuario" as usr
participant "FE\nLogin" as login
participant "API\nLogin" as apilogin
participant "BE\nLogin" as belogin
participant "DS\nLogin" as dslogin
usr -> +usr:
usr -> +login:Iniciar\nSesion
login -> +apilogin:POST api/sesion/iniciar\nusuario:Usuario
apilogin -> +belogin:GenerarSesion(usuario:Usuario)
belogin --> -apilogin:sesion:Sesion
alt sesion != null
apilogin -> +apilogin:RegistrarInicio(sesion:Sesion)
apilogin --> -apilogin:
else sesion == null
end
apilogin --> -login:sesion:Sesion
login --> usr:
title Inicio de Sesion
participant Usuario as usr
participant "FE - HIS" as his
participant "FE - Login" as login
participant "CNT - Sesiones" as cntSesion
participant "BE - Sesiones" as beSesion
participant "BE - Usuarios" as beUsuario
participant "BE - Bitacora" as beBitacora
participant "BE - Generador" as beGenerador
participant "DS - Sesiones" as dsSesion
participant "DS - Usuarios" as dsUsuario
participant "DS - Bitacora" as dsBitacora
participant "DS - Generador" as dsGenerador
usr -> +usr:
usr -> +his: Accede al\nsistema
his -> +login: GET /Logon
login --> -his: 200 OK
his --> -usr: ventana de\ninicio de sesion
usr -> +login:Inicia\nsesion
login -> +cntSesion:POST /Logon/Iniciar\nusuario:Usuario
cntSesion -> +beSesion:Iniciar(usuario:Usuario)
beSesion -> +beSesion:GenerarBitacora(usuario:Usuario,tipoEvento:string)
beSesion -> -beSesion:bitacora:Bitacora
beSesion -> +beBitacora:Guardar(bitacora:Bitacora)
note right of beSesion
Evento: Inicio de Sesion
end note
beBitacora -> +dsBitacora:Guardar(bitacora:Bitacora)
dsBitacora --> -beBitacora:
beBitacora --> -beSesion:
beSesion -> +beUsuario:ValidaUsuario(usuario:Usuario)
beUsuario -> +beBitacora:Guardar(bitacora:Bitacora)
note right of beUsuario
Evento: Validacion de Usuario
end note
beBitacora -> +dsBitacora:Guardar(bitacora:Bitacora)
dsBitacora --> -beBitacora:
beBitacora --> -beUsuario:
beUsuario -> +dsUsuario:ValidaUsuario(nombreUsuario:string,contrasena:string)
dsUsuario --> -beUsuario:resultado:bool
beUsuario -> +beBitacora:Guardar(bitacora:Bitacora)
note right of beUsuario
Evento: Resultado de Validacion de Usuario
end note
beBitacora -> +dsBitacora:Guardar(bitacora:Bitacora)
dsBitacora --> -beBitacora:
beBitacora --> -beUsuario:
beUsuario --> -beSesion:resultado:bool
alt true
beSesion -> +beGenerador:Generar(tipo:String,params:Dictionary)
beGenerador --> -beSesion:token:string
beSesion -> +dsSesion:Guardar(sesion:Sesion)
dsSesion --> -beSesion:
beSesion -> +beBitacora:Guardar(bitacora:Bitacora)
note right of beSesion
Evento: Registrar Sesion Exitosa
end note
beBitacora -> +dsBitacora:Guardar(bitacora:Bitacora)
dsBitacora --> -beBitacora:
beBitacora --> -beSesion:
else false
beSesion -> +beBitacora:Guardar(bitacora:Bitacora)
note right of beSesion
Evento: Registrar Sesion Fallida
end note
beBitacora -> +dsBitacora:Guardar(bitacora:Bitacora)
dsBitacora --> -beBitacora:
beBitacora --> -beSesion:
end
beSesion --> -cntSesion:sesion:Sesion
cntSesion --> -login:sesion:Sesion
login --> -his:sesion:Sesion
note right of his
Se almacena la sesion\nen el sessionStorage
end note
his --> usr: