|
|
|
import streamlit as st |
|
import pandas as pd |
|
import os |
|
|
|
|
|
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") |
|
|
|
|
|
def save_users(df): |
|
df.to_csv("users.csv", index=False) |
|
|
|
|
|
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() |
|
|
|
|
|
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: |
|
|
|
|
|
return True |
|
return False |
|
|
|
|
|
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 |