Also a strong -1. While it is rare, it is perfectly legitimate to have a mail server treat the name portion of an email address as being case sensitive.

Yes, you can find a lot of wrong answers on the internet stating otherwise, but paragraph 2.4 of RFC 5321 clearly states that the local-part of an address is case-sensitive.

(Note: I operate a case-sensitive email server, just as a demonstration of that standard.)

On 12/12/2021 10:32 PM, Arthur Pemberton wrote:
A setting to convert all usernames to lowercase would be good too -- that's my preference overall in general. However I haven't yet seen how best that could/would be accomplished.

For simpler uses case where I'm just sub-classing AbstractUser and not customizing the auth backend, I've taken to overriding UserManager.get_by_natural_key to allow for case-insensitive logins. Though really, I probably should add a signal handler to force username to lowercase.

Arthur

On Sunday, December 12, 2021 at 11:21:32 AM UTC-5 Uri wrote:

    Hi Arthur,

    I would recommend users of Django to use only lowercase usernames.
    And if they insist that the username is an email address, also
    convert it to lowercase. Otherwise you can have 3 separate users
    uri, Uri, and uRI, or 3 separate users with email addresses
    u...@example.com, u...@example.com, and u...@example.com (or even
    u...@example.com). Maybe it's better to add an optional setting to
    enforce usernames to be lowercase. And by the way also
    alphanumeric. You don't want "!@#" to be a username on your system
    (or the user's name in Chinese or Hebrew).

    It's interesting that this ticket is 15 years old and still not
    completely resolved.

    By the way, when people type their email address, some programs
    (including browsers) convert the first letter to uppercase, and I
    have received email addresses from people with the first letter in
    uppercase, although their true address is lowercase. I don't think
    you want this uppercase letter to appear on your database in the
    email field.

    אורי
    (Uri)

    u...@speedy.net


    On Sun, Dec 12, 2021 at 6:02 PM Arthur Pemberton
    <pem...@gmail.com> wrote:

        Especially with the ability to set USERNAME_FIELD to "email",
        it would be really useful to at least have a well documented
        warning that usernames are case-sensitive in Django.

        I've been using Django for years, and even I forget that fact
        some times. Until I start Googling and come across [1].

        Ideally, it would be great to have a setting (or model field)
        that would allow easy switching to case insensitive usernames.

        Arthur Pemberton

        ----

        [1] https://code.djangoproject.com/ticket/2273

-- You received this message because you are subscribed to the
        Google Groups "Django developers (Contributions to Django
        itself)" group.
        To unsubscribe from this group and stop receiving emails from
        it, send an email to django-develop...@googlegroups.com.
        To view this discussion on the web visit
        
https://groups.google.com/d/msgid/django-developers/9a5e1df3-778d-4993-8c32-57870fafd8f9n%40googlegroups.com
        
<https://groups.google.com/d/msgid/django-developers/9a5e1df3-778d-4993-8c32-57870fafd8f9n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/c2bb1b2f-e1ac-4770-8989-ebb0fdc47a2cn%40googlegroups.com <https://groups.google.com/d/msgid/django-developers/c2bb1b2f-e1ac-4770-8989-ebb0fdc47a2cn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "Django 
developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/781a95bb-7682-525c-97c3-b3e86b7b1c59%40comcast.net.

Reply via email to