Yeah, I'm using it in production, it works fine.  You just can't test compiling
it from the command line, that's when you get the perl_hook error.


[EMAIL PROTECTED] (Spidaman The Defenestrator) wrote:
>
>I've been messing around with some wacky PerlAccessHandler and
>PerlAuthenHandler code lately, if Apache::AuthCookie is orphaned I might
>want to fix it up.  Last I looked, it's tests choked on "Undefined
>subroutine &Apache::perl_hook" ...IIRC that means it's not current.  Is
>anybody using it in production with recent mod_perl's??
>
>Meanwhile, back at the ranch...
>
>> Hi folks,
>> 
>> I haven't gotten any response about this.  My email to Eric Bartley
>> (the author of Apache::AuthCookie) bounced - does anyone know how to
>> contact him, or whether there's a new maintainer?
>> 
>> If we can't find him, I suppose we should either make a new module
>> for this (Apache::CookieAuth?) or find a new maintainer for
>> AuthCookie.
>> 
>> 
>> [EMAIL PROTECTED] (Ken Williams) wrote:
>> >Hi mod_perl-ers,
>> >
>> >I've been working with the Apache::AuthCookie module, and have made a
>> >couple of modifications that make it more flexible.  As an added
>> >benefit, the code is now shorter and simpler. =)  I hereby submit the
>> >code for discussion and possible adoption by Eric.  Patch attached.
>> >
>> >The motivation for this was that I wanted users to be able to access
>> >certain documents whether they're logged in or not.  If they're logged
>> >in, they should get a customized version of the document (packages like
>> >HTML::Mason make this easy), and if they're not, they get a generic
>> >version.  This required two changes:
>> >
>> > - Apache::AuthCookie should be able to recognize whether a user is logged 
>> >   in, *even for unprotected documents*.
>> >   
>> > - Since a user can access a document regardless of whether he/she is
>> >   logged in, and since the user should be able to log in at any time, the
>> >   login procedure should be trigerrable by some means other than simply
>> >   accessing a protected document.
>> >
>> >The key change is that there's now a URL (I've called it LOGIN) and
>> >corresponding method (Apache::AuthCookie->login()) that handles a
>> >user's initial login.  After login, the user is redirected to the page
>> >they requested. This means that the authen() method doesn't have to
>> >implement such complicated logic anymore - if the user sent a cookie,
>> >check its validity.  If not, redirect to the login form.  That meant I
>> >could rip out a lot of the code from the authen() method.
>> >
>> >There's also a new recognize_user() method which checks to see whether
>> >a valid authentication cookie has been sent, and if so, sets
>> >$r->connection->user.
>> >
>> >
>> >As a bonus side-effect, AuthCookie can now authenticate even when the
>> >requested page URL has a non-empty query string (this has been a
>> >limitation of AuthCookie).  This is because the redirection URL is now
>> >simply sent in the login form as a hidden field, so it can contain
>> >whatever query information it wants.
>> >
>> >
>> >It's important to note that these changes are not fully backward-compatible
>> >with previous versions.  Some modifications will be required to adopters'
>> >..htaccess files and login forms.  Here's what mine look like.  The login
form
>> >can be on any page, allowing the user to log in at any time:
>> >
>> >  <form action=LOGIN method=GET>
>> >   <input type=hidden name=destination value="<% $current_url %>">
>> >   <input type=hidden name=AuthType value="<% $r->auth_type %>">
>> >   <input type=hidden name=AuthName value="<% $r->auth_name %>">
>> >   username:<br> <input type=text name=credential_0 size=13><br>
>> >   password:<br> <input type=password name=credential_1 size=13><br>
>> >   <input type=submit name=submit value=login>
>> >  </form>
>> >
>> >My .htaccess file (in a /listeners/ directory) is as follows.  MMAuth is a
>> >subclass of Apache::AuthCookie, implementing the authen_cred() and
>> >authen_ses_key() methods.
>> >
>> >
>> >  AuthType MMAuth
>> >  AuthName Listener
>> >  PerlSetVar ListenerPath /listeners/
>> >  PerlSetVar ListenerLoginScript /listeners/login.pl
>> >  PerlSetVar MMSessionExpiration 480
>> >  PerlFixupHandler MMAuth->recognize_user
>> >
>> >  <Files LOGIN>
>> >   SetHandler perl-script
>> >   PerlHandler MMAuth->login
>> >  </Files>
>> >
>> >  <Files ~ "^protected\.ma$">
>> >   PerlAuthenHandler MMAuth->authen
>> >   PerlAuthzHandler MMAuth->authz
>> >   require valid-user
>> >  </Files>
>> >
>> >Standard subclasses of Apache::AuthCookie should not require any
>> >changes unless they're wacky (i.e. change more than just the
>> >authen_cred() and authen_ses_key() methods).
>> >
>> >
>> >
>> >  -------------------                            -------------------
>> >  Ken Williams                             Last Bastion of Euclidity
>> >  [EMAIL PROTECTED]                            The Math Forum
>> 
>>   -------------                                           -------------
>>   Ken Williams                   Tech                      Mirror Music
>>   [EMAIL PROTECTED]                      http://www.mirrormusic.com
>> 
>> 
>> 
>
>--
>Salon Internet                                 http://www.salon.com/
>  HTTP mechanic, Perl diver, Mebwaster, Some of the above
>Ian Kallen <[EMAIL PROTECTED]> / AIM: iankallen / Fax: (415) 354-3326 
>

  -------------------                            -------------------
  Ken Williams                             Last Bastion of Euclidity
  [EMAIL PROTECTED]                            The Math Forum

Reply via email to