test2 / modules /auth.py
AIdeaText's picture
Update modules/auth.py
a198937 verified
raw
history blame
No virus
1.57 kB
# /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