mirror of
https://github.com/KeymonSoft/jRDC-Multi.git
synced 2026-04-18 05:09:32 +00:00
- VERSION 5.09.01
- Se corrigieron errores en "Manager". - Se cambiaron nombres de handlers. - Se corrigio un error en la ruta de "www/login.html".
This commit is contained in:
42
DoLoginHandler.bas
Normal file
42
DoLoginHandler.bas
Normal file
@@ -0,0 +1,42 @@
|
||||
B4J=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=10.3
|
||||
@EndOfDesignText@
|
||||
'Class module: DoLoginHandler
|
||||
Sub Class_Globals
|
||||
Private bc As BCrypt
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
' bc.Initialize
|
||||
End Sub
|
||||
|
||||
Public Sub Handle(req As ServletRequest, resp As ServletResponse)
|
||||
' Limpiamos el input del usuario para evitar errores
|
||||
Dim u As String = req.GetParameter("username").Trim.ToLowerCase
|
||||
Dim p As String = req.GetParameter("password")
|
||||
|
||||
Try
|
||||
' Buscamos el hash en la base de datos usando el usuario limpio
|
||||
Dim storedHash As String = Main.SQL1.ExecQuerySingleResult2("SELECT password_hash FROM users WHERE username = ?", Array As String(u))
|
||||
|
||||
' Verificamos la contraseña contra el hash
|
||||
If storedHash <> Null And bc.checkpw(p, storedHash) Then
|
||||
' CREDENCIALES CORRECTAS
|
||||
' 1. Autorizamos la sesión
|
||||
req.GetSession.SetAttribute("user_is_authorized", True)
|
||||
' 2. ¡Y guardamos el nombre de usuario! (Esta es la línea que faltaba)
|
||||
req.GetSession.SetAttribute("username", u)
|
||||
|
||||
resp.SendRedirect("/manager")
|
||||
Else
|
||||
' Credenciales incorrectas
|
||||
resp.SendRedirect("/login")
|
||||
End If
|
||||
Catch
|
||||
Log(LastException)
|
||||
resp.SendRedirect("/login")
|
||||
End Try
|
||||
End Sub
|
||||
Reference in New Issue
Block a user