Hi Justin -

>-- Original Message --
>Reply-To: [EMAIL PROTECTED]
>Date: Mon, 26 Aug 2002 23:44:32 -0700
>From: Justin Erenkrantz <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: authentication rewrite
>
>My point is that I need to add another front end authentication
>module (namely within mod_dav).  I think it'd be pointless to
>duplicate all of the backend work done in mod_auth* so that
>mod_dav can authenticate users.  The current authentication API
>can't work as it combines the front and back-ends.  The answer we
>give to people is, "cut-and-paste."  Ick.  Therefore, yes, I think
>we have to introduce another level as what we have now is
>insufficient.

I understand your point, and I think its a good one.  I just wanted to raise
a concern (which I still think is important to think about).  about a year
and a half ago I abstracted the auth stuff in a similar way - In my case,
however, I wanted the back ends to have much richer authorization functionality
than the current AAA modules.  In a 'require group' world, it is very nice
to abstract this stuff out so backends can be re-used, and apache specific
logic can be centralized - as you have proposed.  But it will be harder
to plug in backends that try to do more with requirements (of which there
really aren't many)- which is probably fine.

>In my vision, the LDAP module would have its own directives/options
>to specify what it returns.  So, I don't think this is a big concern.
>
>I'd imagine something like:
>
>AuthProvider ldap
>AuthLDAPServer ldap.example.com
>AuthLDAPBase o=example.com
>AuthLDAPUserSearch (username=%s)
>AuthLDAPGroupSearch (groupmember=%s)

here's a couple of comments on the implementation:

1) It looks like the 'AuthProvider' does not allow you to stack auth handlers.
 I would be cool (if not critical :) if it was more of an AddAuthProvider
- then the basic auth handler loops through all providers that are added.
 This way you could configure ldap and anon for a given location.

2) If you do allow stacking of providers like this, you need to also provide
the ability to specify which one is authoritative (if any).

3) maybe i'm missing something, but why did you rewrite ap_note_basic_auth_failure
and ap_get_basic_auth?  assuming there was a reason, maybe a comment in
the code would help clarify it.

hope this helps.

sterling

Reply via email to