File size: 1,572 Bytes
915b731 3f94976 915b731 3f94976 915b731 3f94976 915b731 a198937 915b731 a198937 915b731 a198937 3f94976 a198937 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# /modules/auth.py
import streamlit as st
import pandas as pd
import os
# Funci贸n para cargar usuarios
def load_users():
if not os.path.exists("users.csv"):
df = pd.DataFrame(columns=["username", "password", "role"])
df.to_csv("users.csv", index=False)
return pd.read_csv("users.csv")
# Funci贸n para guardar usuarios
def save_users(df):
df.to_csv("users.csv", index=False)
# Funci贸n para registrar un nuevo usuario
def register_user(username, password, role):
conn = get_db_connection()
cursor = conn.cursor()
try:
cursor.execute("INSERT INTO Users (Username, Role) VALUES (?, ?)",
(username, role))
conn.commit()
return True
except pyodbc.IntegrityError:
return False
finally:
conn.close()
# Funci贸n para autenticar un usuario
def authenticate_user(username, password):
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute("SELECT UserID, Role FROM Users WHERE Username = ?", (username,))
user = cursor.fetchone()
conn.close()
if user:
# Aqu铆 deber铆as verificar la contrase帽a de forma segura
# Por ahora, asumimos que la autenticaci贸n es correcta si el usuario existe
return True
return False
# Funci贸n para obtener el rol del usuario
def get_user_role(username):
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute("SELECT Role FROM Users WHERE Username = ?", (username,))
role = cursor.fetchone()
conn.close()
return role[0] if role else None |