I will need to implement authentication/authorization with mongodb. Is there
already a tutorial for this? If not once I hammer it out I will write one :D

On Mon, Jul 11, 2011 at 6:49 PM, Eric Rasmussen <[email protected]>wrote:

> Sure, linking is great. One day I'll get around to adding it in officially.
> Also, if anyone does try it out and has feedback, you're welcome to email me
> personally or respond here.
>
> On Mon, Jul 11, 2011 at 6:32 PM, Chris McDonough <[email protected]> wrote:
>
>> On Mon, 2011-07-11 at 18:26 -0700, Eric Rasmussen wrote:
>> > A while back I was working on a complete Pyramid + pyramid_sqla demo
>> > to show how you can use authorization with a SQLite database and
>> > SQLAlchemy. I just reworked it to use Pyramid + Akhet and it seems to
>> > run fine, although there are likely a lot of little inconsistencies or
>> > issues to be found here:
>> >
>> > http://pyramid.chromaticleaves.com/simpleauth/
>> >
>> > If anyone has time to glance through it or go along with it and create
>> > the demo, let me know how it works for you and if you find it useful
>> > as a standalone project demonstration. If it seems to be what people
>> > are looking for I can clean it up and make a recipe out of it. If not,
>> > let me know how it could be more useful and I'll do what I can.
>>
>> This looks great!  I added a link to it in the Pyramid cookbook (it will
>> be visible on the next renedering).  Hope that's OK.
>>
>> >
>> > On Mon, Jul 11, 2011 at 4:15 PM, Matt Feifarek
>> > <[email protected]> wrote:
>> >         On Mon, Jul 11, 2011 at 3:12 PM, Raoul Snyman
>> >         <[email protected]> wrote:
>> >                 I've just spent the better part of the weekend
>> >                 scouring the docs for
>> >                 some mention or example of how to do auth (both
>> >                 authentication and
>> >                 authorisation) from the database, and gave up and
>> >                 decided to roll my
>> >                 own, because I can't see how to do it from the DB.
>> >
>> >
>> >         I can't answer your question as to why there aren't more
>> >         tutorials. I've recently done what you are now doing, and
>> >         found this very helpful:
>> >         https://github.com/mmerickel/pyramid_auth_demo
>> >
>> >
>> >         For me, making __acl__ into a property that is therefore
>> >         in-effect a function call allows me to mix more than one kind
>> >         of "group" or other credentials. In my case, I have three:
>> >
>> >
>> >         1. I have groups that are basically class-level static
>> >         permissions, declared in my class definition in an attribute
>> >         called _class_acls.
>> >
>> >
>> >         2. Then I have some credentials that are stored in my database
>> >         with the user account object itself, in an attribute called
>> >         _inst_acls, but could be a column or whatever.
>> >
>> >
>> >         3. and finally I have credentials that are derived at
>> >         call-time based on things like the users' id. One could go on
>> >         and on, of course, having a "its_a_tuesday_morning"
>> >         permission, or "user_id_is_divisible_by_7" or whatever.
>> >
>> >
>> >         The __acl__ attribute is really running self._get_acls() which
>> >         assembles all three types of permission credentials; it was an
>> >         aha moment for me, and I'm embarrassed that I didn't think of
>> >         it sooner; I guess reading the docs made me think that there
>> >         might be something "magical" about __acl__ but it's just an
>> >         attribute.
>> >
>> >
>> >         This trick can also be extended to objects that need
>> >         authorization, as in the link I pasted. These two "dymanic"
>> >         tricks make the standard traversal and acl stuff super
>> >         powerful. I'm using ZODB, but the principle is the same. Once
>> >         you think about __acl__ as something that can be callable, you
>> >         can literally do anything.
>> >
>> >
>> >         I hope this helps, but really, Michael Merickel is the one to
>> >         thank for the example.
>> >
>> >
>> >
>> >         --
>> >         You received this message because you are subscribed to the
>> >         Google Groups "pylons-discuss" group.
>> >         To post to this group, send email to
>> >         [email protected].
>> >         To unsubscribe from this group, send email to pylons-discuss
>> >         [email protected].
>> >         For more options, visit this group at
>> >         http://groups.google.com/group/pylons-discuss?hl=en.
>> >
>> >
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "pylons-discuss" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to pylons-discuss
>> > [email protected].
>> > For more options, visit this group at
>> > http://groups.google.com/group/pylons-discuss?hl=en.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "pylons-discuss" 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/pylons-discuss?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" 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/pylons-discuss?hl=en.
>



-- 
-- 
Regards,
Bruce Wade
http://ca.linkedin.com/in/brucelwade
http://www.wadecybertech.com
http://www.warplydesigned.com
http://www.fitnessfriendsfinder.com

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en.

Reply via email to