yurt
This commit is contained in:
38
app/utils/auth.py
Normal file
38
app/utils/auth.py
Normal file
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
Authentication utilities and decorators
|
||||
"""
|
||||
|
||||
from functools import wraps
|
||||
from flask import session, flash, redirect, url_for, current_app
|
||||
|
||||
|
||||
def login_required(f):
|
||||
"""Decorator to require login for route access"""
|
||||
@wraps(f)
|
||||
def decorated_function(*args, **kwargs):
|
||||
if 'logged_in' not in session:
|
||||
flash('Please log in to access this page.')
|
||||
return redirect(url_for('auth.login'))
|
||||
return f(*args, **kwargs)
|
||||
return decorated_function
|
||||
|
||||
|
||||
def check_credentials(username, password):
|
||||
"""Check if provided credentials are valid"""
|
||||
return (username == current_app.config['ADMIN_USERNAME'] and
|
||||
password == current_app.config['ADMIN_PASSWORD'])
|
||||
|
||||
|
||||
def login_user():
|
||||
"""Log in the user by setting session"""
|
||||
session['logged_in'] = True
|
||||
|
||||
|
||||
def logout_user():
|
||||
"""Log out the user by clearing session"""
|
||||
session.pop('logged_in', None)
|
||||
|
||||
|
||||
def is_authenticated():
|
||||
"""Check if current user is authenticated"""
|
||||
return 'logged_in' in session
|
||||
Reference in New Issue
Block a user