#3011: Allow for extendable auth_user module
------------------------------------+---------------------------------------
Reporter: nowell strite | Owner: dan
Status: assigned | Milestone:
Component: Contrib apps | Version:
Resolution: | Keywords: auth_user
Stage: Accepted | Has_patch: 1
Needs_docs: 1 | Needs_tests: 1
Needs_better_patch: 1 |
------------------------------------+---------------------------------------
Comment (by David Danier <[email protected]>):
Replying to [comment:45 wkornewald]:
> We really need this feature and we'd like to have an officially
supported API for this. Django's default user comes with first_name and
last_name which is too specific for us. We only have full_name and
calculated @property for first_name and last_name. Also, we don't have
usernames. In a lot of cases email is sufficient, so why should the user
bother about inventing a username? Of course, this means that in our case
email should be a required and unique field.
>
> Moreover, code that uses get_profile() is just more annoying to write
and you have to call select_related(). It's much easier to have all user
fields in the User model. Our code has definitely become easier to work
with since we eliminated the profile model and put everything into the
User.
There are more fundamental flaws in the current approach. For example one
might need to have AnonymousUser saved in the database, which normalized
the way permission control works (permissions for the AnonymousUser can be
saved to the database).
One bit problem I see with the current contrib.auth-module is, that it
combines different things. There is no need to put code for authorization
(who is accessing the page?) and authentication (is someone allowed to
access something?) into the same app. I would prefer having these things
in different applications so they could be replaced separately.
contrib.auth could provide some kind of generic API for accessing these
new applications. Having all of these different apps combined in
contrib.auth makes redesigning these thing much more complicated. Perhaps
a first step might be creating independent apps here.
--
Ticket URL: <http://code.djangoproject.com/ticket/3011#comment:48>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---