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