Performance: Decorator for role requirement
MEDIUM IMPACT
This affects the server response time and user interaction speed by adding checks before executing route logic.
def role_required(role): def decorator(f): def wrapped(*args, **kwargs): user = getattr(g, 'user', None) if not user or role not in user.roles: abort(403) return f(*args, **kwargs) return wrapped return decorator
def role_required(role): def decorator(f): def wrapped(*args, **kwargs): user = get_user_from_db() if role not in user.roles: abort(403) return f(*args, **kwargs) return wrapped return decorator
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| DB query in decorator | 0 | 0 | 0 | [X] Bad |
| Cached user in request context | 0 | 0 | 0 | [OK] Good |