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:
124
jRDC_Multi.b4j
124
jRDC_Multi.b4j
@@ -1,30 +1,53 @@
|
||||
AppType=StandardJava
|
||||
Build1=Default,b4j.JRDCMulti
|
||||
File1=config.properties
|
||||
File1=config.DB2.properties
|
||||
File10=stop.bat
|
||||
File2=config.DB3.properties
|
||||
File3=config.DB4.properties
|
||||
File4=config.properties
|
||||
File5=login.html
|
||||
File6=reiniciaProcesoBow.bat
|
||||
File7=reiniciaProcesoPM2.bat
|
||||
File8=start.bat
|
||||
File9=start2.bat
|
||||
FileGroup1=Default Group
|
||||
FileGroup10=Default Group
|
||||
FileGroup2=Default Group
|
||||
FileGroup3=Default Group
|
||||
FileGroup4=Default Group
|
||||
FileGroup5=Default Group
|
||||
FileGroup6=Default Group
|
||||
FileGroup7=Default Group
|
||||
FileGroup8=Default Group
|
||||
FileGroup9=Default Group
|
||||
Group=Default Group
|
||||
Library1=javaobject
|
||||
Library2=jcore
|
||||
Library3=jrandomaccessfile
|
||||
Library4=jserver
|
||||
Library5=jshell
|
||||
Library6=json
|
||||
Library7=jsql
|
||||
Library8=byteconverter
|
||||
Module1=DB1Handler
|
||||
Module10=RDCConnector
|
||||
Module11=TestHandler
|
||||
Module2=DB1JsonHandler
|
||||
Library1=byteconverter
|
||||
Library2=javaobject
|
||||
Library3=jcore
|
||||
Library4=jrandomaccessfile
|
||||
Library5=jserver
|
||||
Library6=jshell
|
||||
Library7=json
|
||||
Library8=jsql
|
||||
Library9=bcrypt
|
||||
Module1=B4AHandler
|
||||
Module10=LoginHandler
|
||||
Module11=LogoutHandler
|
||||
Module12=Manager
|
||||
Module13=ping
|
||||
Module14=RDCConnector
|
||||
Module15=TestHandler
|
||||
Module2=ChangePassHandler
|
||||
Module3=DB2Handler
|
||||
Module4=DB3Handler
|
||||
Module5=DB4Handler
|
||||
Module6=DBHandlerGenerico
|
||||
Module7=GlobalParameters
|
||||
Module8=Manager
|
||||
Module9=ping
|
||||
NumberOfFiles=1
|
||||
NumberOfLibraries=8
|
||||
NumberOfModules=11
|
||||
Module6=DBHandlerJSON
|
||||
Module7=DoLoginHandler
|
||||
Module8=GlobalParameters
|
||||
Module9=HandlerB4X
|
||||
NumberOfFiles=10
|
||||
NumberOfLibraries=9
|
||||
NumberOfModules=15
|
||||
Version=10.3
|
||||
@EndOfDesignText@
|
||||
'Non-UI application (console / server application)
|
||||
@@ -48,6 +71,8 @@ Version=10.3
|
||||
'#AdditionalJar: mysql-connector-java-5.1.27-bin
|
||||
'#AdditionalJar: postgresql-42.7.0
|
||||
#AdditionalJar: ojdbc11
|
||||
' Librería para manejar la base de datos SQLite
|
||||
#AdditionalJar: sqlite-jdbc-3.7.2
|
||||
|
||||
Sub Process_Globals
|
||||
Public srvr As Server
|
||||
@@ -57,9 +82,15 @@ Sub Process_Globals
|
||||
Dim listaDeCP As List
|
||||
Dim cpFiles As List
|
||||
Public Connectors, commandsMap As Map
|
||||
Public SQL1 As SQL ' Objeto SQL para la base de datos de usuarios
|
||||
Private bc As BCrypt
|
||||
End Sub
|
||||
|
||||
Sub AppStart (Args() As String)
|
||||
' --- INICIO DE CAMBIOS ---
|
||||
' Inicializamos la base de datos. Se creará si no existe.
|
||||
InitializeSQLiteDatabase
|
||||
' --- FIN DE CAMBIOS ---
|
||||
listaDeCP.Initialize
|
||||
srvr.Initialize("")
|
||||
Dim con As RDCConnector
|
||||
@@ -94,24 +125,53 @@ Sub AppStart (Args() As String)
|
||||
End If
|
||||
srvr.AddHandler("/ping", "ping", False) ' Agrega un manejador a la ruta "/test", asignando las solicitudes a la clase TestHandler, el último parámetro indica si el manejador debe ejecutar en un nuevo hilo (False en este caso)
|
||||
srvr.AddHandler("/test", "TestHandler", False) ' Agrega un manejador a la ruta "/test", asignando las solicitudes a la clase TestHandler, el último parámetro indica si el manejador debe ejecutar en un nuevo hilo (False en este caso)
|
||||
|
||||
' --- INICIO DE CAMBIOS ---
|
||||
' 1. Rutas para el sistema de Login
|
||||
srvr.AddHandler("/login", "LoginHandler", False) ' Sirve la página de login
|
||||
srvr.AddHandler("/dologin", "DoLoginHandler", False) ' Procesa el intento de login
|
||||
srvr.AddHandler("/logout", "LogoutHandler", False) ' Cierra la sesión
|
||||
srvr.AddHandler("/changepass", "ChangePassHandler", False)
|
||||
' 2. El handler del manager se queda igual, pero ahora estará protegido
|
||||
srvr.AddHandler("/manager", "Manager", False)
|
||||
' srvr.AddHandler("/db1", "DB1Handler", False)
|
||||
' srvr.AddHandler("/DB1", "DB1Handler", False)
|
||||
' srvr.AddHandler("/db2", "DB2Handler", False)
|
||||
' srvr.AddHandler("/DB2", "DB2Handler", False)
|
||||
' srvr.AddHandler("/db3", "DB3Handler", False)
|
||||
' srvr.AddHandler("/DB3", "DB3Handler", False)
|
||||
' srvr.AddHandler("/db4", "DB4Handler", False)
|
||||
' srvr.AddHandler("/DB4", "DB4Handler", False)
|
||||
srvr.AddHandler("/DBJ", "DB1JsonHandler", False)
|
||||
srvr.AddHandler("/dbrquery", "DB1JsonHandler", False)
|
||||
' --- FIN DE CAMBIOS ---
|
||||
|
||||
srvr.AddHandler("/DBJ", "DBHandlerJSON", False)
|
||||
srvr.AddHandler("/dbrquery", "DBHandlerJSON", False)
|
||||
' srvr.AddHandler("/*", "DB1Handler", False) ' Si no se especifica una base de datos, entonces asignamos la solicitud a la DB1.
|
||||
|
||||
srvr.AddHandler("/*", "DBHandlerGenerico", False)
|
||||
srvr.AddHandler("/*", "HandlerB4X", False)
|
||||
|
||||
srvr.Start
|
||||
Log("===========================================================")
|
||||
Log($"-=== jRDC is running on port: ${srvr.port} (version = $1.2{VERSION}) ===-"$)
|
||||
Log("===========================================================")
|
||||
StartMessageLoop
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
' Nueva subrutina para crear y configurar la base de datos de usuarios
|
||||
Sub InitializeSQLiteDatabase
|
||||
Dim dbFileName As String = "users.db"
|
||||
' Si la base de datos no existe en la carpeta del .jar, la creamos
|
||||
If File.Exists(File.DirApp, dbFileName) = False Then
|
||||
Log("Creando nueva base de datos de usuarios: " & dbFileName)
|
||||
' Inicializamos la conexión
|
||||
SQL1.InitializeSQLite(File.DirApp, dbFileName, True)
|
||||
' Creamos la tabla de usuarios
|
||||
Dim createUserTable As String = "CREATE TABLE users (username TEXT PRIMARY KEY, password_hash TEXT NOT NULL)"
|
||||
SQL1.ExecNonQuery(createUserTable)
|
||||
|
||||
' Creamos un usuario por defecto para el primer inicio
|
||||
Dim defaultUser As String = "admin"
|
||||
Dim defaultPass As String = "12345"
|
||||
Dim hashedPass As String = bc.hashpw(defaultPass, bc.gensalt) ' bc.HashPassword(defaultPass)
|
||||
|
||||
SQL1.ExecNonQuery2("INSERT INTO users (username, password_hash) VALUES (?, ?)", Array As Object(defaultUser, hashedPass))
|
||||
Log($"Usuario por defecto creado -> user: ${defaultUser}, pass: ${defaultPass}"$)
|
||||
Else
|
||||
' Si ya existe, solo la abrimos
|
||||
SQL1.InitializeSQLite(File.DirApp, dbFileName, True)
|
||||
Log("Base de datos de usuarios cargada.")
|
||||
End If
|
||||
End Sub
|
||||
' --- FIN DE CAMBIOS ---
|
||||
Reference in New Issue
Block a user