The reason for this Proposal and patch is because I do not like having
to special case permissions for the AnonymousUser for every model I
wish to allow them access to.

I am working on an ACL that has no concept of User per say, it is
using a generic relationship to maintain a list of subjects and
objects that it controls, so subject and object can be any Model. In
the ACL you will primarily use it for Users and Groups as subject and
other models as objects, but you could potentially restrict one Models
access to another (why I dont know, other then using a diff user model
then the builtin one, but you can).

The fact that the AnonymousUser has no model makes it impossible for
me to add them as a subject to my ACL, or for any other permissions
system to manage them other then special casing. Special casing is all
well and good when you are not doing Row level permissions, as there
are not going to be that many special cases, but once you start
getting into row level permissions there could potentially be hundreds
(or thousands) of cases when I would need to do special casing just
for the AnonymousUser, which is very un-DRY (IMHO)

This patch allows the creation of a user with the username
BuiltinDjangoAnonymousUser, and will return an instance of that User
(if it exists) instead of the AnonymousUser class. I added checking in
the actual user model for this special user so that it will still
return the proper values for is_authenticated, and is_anonymous, and
so that noone could login as the special anonymous user. I also added
a management command to create the new Anonymous User, and a signal
listener to ask if you want to create one when you first install the
Auth app.

http://code.djangoproject.com/ticket/9444

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to