Well, by an application I meant the 'subfolder' in your django project
directory, which you create using manage.py startapp 'appname' (or
maybe django.admin.py). That confused me. So if in your case an
application is a model inside database, then I understand that you can
use standard permissions and singal 'post_save'. I checked your code
<https://github.com/bmbouter/vdi/blob/master/views.py> and the line 44
made it all clear.

When I understand it finally I am not sure whether I will go this way.
You know, my project is going to have like 3-4 stable applications. I
don't actually need to dynamically add new ones and the whole layer
for working with applications (view.connect) is a little bit brutal
for my needs. While discussing with you I found out that there is such
things like Middleware in django, so I will probably use it instead
(see the link in second post).

Anyway, I feel much smarter thanks to you! So thanks again for your
time.


On 26 led, 15:45, Brian Bouterse <bmbou...@gmail.com> wrote:
> Maybe this will clear things up, but if not, write back.  In my example an
> "application" is a resource inside of a django project, not a django project
> itself.  Your description of 'use_appname' is correct.  An app for me is a
> model and so I have setup a post_save
> signal<http://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.si...>on
> that model so that when the model is created the post save signal
> ensures
> the permission is created.
>
> The permission is then checked when a user goes to use an application using
> standard django permission checking.  You could use this same scheme to
> limit access to installed django application I could imagine.
>
> Brian
>
>
>
> On Wed, Jan 26, 2011 at 9:39 AM, tobik <tobiaspoto...@gmail.com> wrote:
> > Thank you for your answer. It is to much information for me and I am
> > not sure whether I understand it correctly :)
>
> > So basically you create for each application a corresponding
> > permission which looks something like 'use_appname'. If the user wants
> > to access 'appname' application, he has to have 'use_appname'
> > permission. And when these permissions are being created? When
> > starting a new application? (./manage.py startapp appname) And Django
> > just knows that permission named use_appname belongs to 'appname'?
> > It's a part of core? Sorry for my dumb question, I just don't know
> > much yet about how does Django work under the hood.
>
> > Btw I found also this <http://onecreativeblog.com/post/59051248/django-
> > login-required-middleware> which could also solve my problem. It
> > wouldn't be difficult to modify the code in order to add support for
> > groups.
>
> > On 26 led, 14:39, Brian Bouterse <bmbou...@gmail.com> wrote:
> > > I've used a post_save signal to create a per-object permission such as
> > 'use
> > > application X'  This permission is checked at application use time.
> > > Here<https://github.com/bmbouter/vdi/blob/master/signals.py>is the
> > > code I wrote to do, I think, exactly what you want.  It is part of a
> > > django
> > > based connection broker <https://github.com/bmbouter/vdi> that manages
> > cloud
> > > virtual machines to provide applications to users.
>
> > > Best,
> > > Brian
>
> > > On Wed, Jan 26, 2011 at 2:11 AM, tobik <tobiaspoto...@gmail.com> wrote:
> > > > My first question is whether it is possible to restrict access to the
> > > > whole application from one place. I could write @login_required over
> > > > every function but is there a better way?
>
> > > > My second question is whether it is possible to use user groups for
> > > > restricting applications. I want for example that only users in group
> > > > 'teachers' could access the 'teaching' application. I know that groups
> > > > are meant for something else but it would spare me a lot of time.
>
> > > > I've just started with Django so be patient with me :)
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Django users" group.
> > > > To post to this group, send email to django-users@googlegroups.com.
> > > > To unsubscribe from this group, send email to
> > > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> > <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/django-users?hl=en.
>
> > > --
> > > Brian Bouterse
> > > ITng Services
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Django users" group.
> > To post to this group, send email to django-users@googlegroups.com.
> > To unsubscribe from this group, send email to
> > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/django-users?hl=en.
>
> --
> Brian Bouterse
> ITng Services

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

Reply via email to