On Fri, Mar 28, 2008 at 1:08 PM, chrism <[EMAIL PROTECTED]> wrote:
> I am the primary author of repoze.who. There are four contributors
> currently including myself. I am using the software in my own
> customers' projects.
>
> As with any project. it's hard to know where it will end up, but I
> think we're in pretty good shape now as there have already been some
> plugins contributed, and writing repoze.who plugins is fairly well
> documented.
>
> See http://svn.repoze.org/repoze.who/trunk/README.txt for
> documentation on how to write new plugins.
>
> Existing plugins:
>
> stock: http://svn.repoze.org/repoze.who/trunk/repoze/who/plugins/
>
> TG2 example plugins (written by me with reqt's collaboration with the
> TurboGears 2 "Authority" guys): http://svn.repoze.org/tg2whoplugins/trunk/
>
> Radius plugin (contributed by Chris Shenton):
> http://svn.repoze.org/whoplugins/whoradius/trunk/
>
> I'd be happy to help anybody get started with writing a plugin or two
> or advising people how to use the existing ones. Please join the
>
> repoze-dev maillist (http://lists.repoze.org/listinfo/repoze-dev) or
> hop into the #repoze channel on irc.freenode.net . It would also be
> nice to be able to use some AuthKit implementation code within
> repoze.who plugins (they are not really mutually exclusive).
>
>
> - C
I started a project called sentry for the purposes of integrating with
existing authentication systems (like PAM, LDAP or DB-based). For the
DB-based plugin you can specify how the passwords in the DB are
hashed. It has hashes that are compatible with Mysql PASSWORD /
OLD_PASSWORD, as well as unix crypt and shadow passwords and
LDAP-style passwords (like "{SHA}...", "{SSHA}...").
For example, to authenticate against an existing phpbb database (which
uses md5 hashes for the password), you could do something like this:
auth = sentry.auth.db.SingleTableAuth("mysql://user:[EMAIL PROTECTED]/phpbb",
"phpbb_users", "username", "user_password",
sentry.hashers.Hasher("md5"))
then you can call auth.authenticate(username, password) in your login
function or middleware, which will return whether or not the given
username and password matches. The DB module uses SQLAlchemy, so it
can connect to any DB that SQLAlchemy can.
Basic LDAP authentication is easy:
auth = sentry.auth.ldapauth.LDAPAuth("ldap://ldap.domain.com",
"ou=people,dc=domain,dc=com")
Feel free to use it, or copy code out for your own plugins. You can
find it at http://atlee.ca/software/sentry
Cheers,
Chris
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---