In trying to improve my authentication routines I've switched from CAP::Session to CAP::Authentication. Running the sample file in CAP::Auth works well, provided I change the package name to match MyLogin->authen. But when run from my own application in cgiapp_init() I get the following when submitting the default login form, when STORE is set to the Cookie method:

Error executing object callback in postrun stage: Undefined subroutine &MIME::Base64::encode called at C:/usr/local/site/lib/CGI/Application/Plugin/Authentication/Store/Cookie.pm line 257.

But Base64.pm *is* present in the Perl lib path and is the current v3.05.

This does not happen if I omit the STORE config variable, or set it to Session. I think it is setting a cookie anyway called CGISESSID, even though I have the CAP::Session plugin loaded. Also the sessions table does not get updated, even when STORE is set to 'Session'.

I also tried with and without $obj->CGI::Application::Plugin::Authentication::prerun_callback(); but I've no idea what that is doing or whether it is relevant. Using CGI::Application 4.04, and current CPAN versions of CAP::Session (0.09) and CAP::Authentication (0.07) on ActivePerl 5.8.7.

Anyone any idea what is happening here?
--
Richard Jones
Leeds, UK
mailto:[EMAIL PROTECTED]

---------------------------------------------------------------------
Web Archive:  http://www.mail-archive.com/[email protected]/
             http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to