Optimizing admin interface for user domain, completing security views

This commit is contained in:
Josako
2024-06-03 09:37:59 +02:00
parent e5a36798bf
commit fcc0caeb09
24 changed files with 523 additions and 174 deletions

View File

@@ -1,34 +1,62 @@
from flask import request
from flask import request, session
import time
from flask_security import current_user
def log_request_middleware(app):
@app.before_request
def log_request_info():
start_time = time.time()
app.logger.debug(f"Request URL: {request.url}")
app.logger.debug(f"Request Method: {request.method}")
app.logger.debug(f"Request Headers: {request.headers}")
app.logger.debug(f"Time taken for logging request info: {time.time() - start_time} seconds")
try:
app.logger.debug(f"Request Body: {request.get_data()}")
except Exception as e:
app.logger.error(f"Error reading request body: {e}")
app.logger.debug(f"Time taken for logging request body: {time.time() - start_time} seconds")
# @app.before_request
# def log_request_info():
# start_time = time.time()
# app.logger.debug(f"Request URL: {request.url}")
# app.logger.debug(f"Request Method: {request.method}")
# app.logger.debug(f"Request Headers: {request.headers}")
# app.logger.debug(f"Time taken for logging request info: {time.time() - start_time} seconds")
# try:
# app.logger.debug(f"Request Body: {request.get_data()}")
# except Exception as e:
# app.logger.error(f"Error reading request body: {e}")
# app.logger.debug(f"Time taken for logging request body: {time.time() - start_time} seconds")
# @app.before_request
# def check_csrf_token():
# start_time = time.time()
# if request.method == "POST":
# csrf_token = request.form.get("csrf_token")
# app.logger.debug(f"CSRF Token: {csrf_token}")
# app.logger.debug(f"Time taken for logging CSRF token: {time.time() - start_time} seconds")
# @app.before_request
# def log_user_info():
# if current_user and current_user.is_authenticated:
# app.logger.debug(f"Before: User ID: {current_user.id}")
# app.logger.debug(f"Before: User Email: {current_user.email}")
# app.logger.debug(f"Before: User Roles: {current_user.roles}")
# else:
# app.logger.debug("After: No user logged in")
@app.before_request
def check_csrf_token():
start_time = time.time()
if request.method == "POST":
csrf_token = request.form.get("csrf_token")
app.logger.debug(f"CSRF Token: {csrf_token}")
app.logger.debug(f"Time taken for logging CSRF token: {time.time() - start_time} seconds")
def log_session_state_before():
app.logger.debug(f'Session state before request: {session.items()}')
# @app.after_request
# def log_response_info(response):
# start_time = time.time()
# app.logger.debug(f"Response Status: {response.status}")
# app.logger.debug(f"Response Headers: {response.headers}")
#
# app.logger.debug(f"Time taken for logging response info: {time.time() - start_time} seconds")
# return response
# @app.after_request
# def log_user_after_request(response):
# if current_user and current_user.is_authenticated:
# app.logger.debug(f"After: User ID: {current_user.id}")
# app.logger.debug(f"after: User Email: {current_user.email}")
# app.logger.debug(f"After: User Roles: {current_user.roles}")
# else:
# app.logger.debug("After: No user logged in")
@app.after_request
def log_response_info(response):
start_time = time.time()
app.logger.debug(f"Response Status: {response.status}")
app.logger.debug(f"Response Headers: {response.headers}")
app.logger.debug(f"Time taken for logging response info: {time.time() - start_time} seconds")
return response
def log_session_state_after(response):
app.logger.debug(f'Session state after request: {session.items()}')
return response