The urlpattern is telling your view (I assume a subclass of UpdateView?)
which instance of your User model to edit, but that's all the urlpattern
gets you - there's nothing built in about permissions. You need to write
permission restrictions yourself.

There's a whole bunch of ways you can do this. Something I've done:

from django.core.exceptions import PermissionDenied

[...]

class UserUpdateView(UpdateView):
    [...]

    def dispatch(self, request, *args, **kwargs):
        if not self.request.user == self.object:
            raise PermissionDenied
        super(UserUpdateView, self).dispatch(request, *args, **kwargs)

I can think of a couple other things you might try and I don't know what's
most stylish, but that'll work.

Andromeda Yelton
LITA Board of Directors, Director-at-Large, 2013-2016
http://andromedayelton.com
@ThatAndromeda


On Sat, May 24, 2014 at 7:21 PM, Carlos Perche <carlosfelipeper...@gmail.com
> wrote:

> for exemple, I have following url:
> http://tenant.com:8000/accounts/test1/edit/
>
> when my user right authenticated is test1, but if I change the url to
> http://tenant.com:8000/accounts/admin/edit/, the data of user admin is
> showing in profile form and if I change and save this form the admin's data
> is update.
>
> test1 is a simple user, no superuser nor staff, but have object permission
> for save, delete, change and view profile
>
> how do I protect the other user's data?
>
> sorry my english
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/8025d812-6b2f-4a60-8538-6ea060b0fa34%40googlegroups.com<https://groups.google.com/d/msgid/django-users/8025d812-6b2f-4a60-8538-6ea060b0fa34%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAFE1XCb3TzbjCQYo%2Bt_trECmsknyirxCpyOByKZjmb1svH_RHA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to