django-sonar icon indicating copy to clipboard operation
django-sonar copied to clipboard

If User is not attached with request, it crashes when middleware is placed before authentication or even session middlewares

Open sadaqatullah opened this issue 8 months ago • 1 comments

Proposed simple solution:

    if hasattr(request, 'user'):
            if request.user.is_authenticated:
                # use get_username() instead of username to support custom user models
                # use get_email_field_name() instead of email to support custom user models
                user_info = {
                    "user_id": request.user.id,
                    "username": request.user.get_username(),
                    "email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
                    }

instead of

    if request.user.is_authenticated:
            # use get_username() instead of username to support custom user models
            # use get_email_field_name() instead of email to support custom user models

            user_info = {
                "user_id": request.user.id,
                "username": request.user.get_username(),
                "email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
            }

sadaqatullah avatar Jun 30 '24 07:06 sadaqatullah