# /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