[cgiapp] [Announce] CGI::Application::Plugin::Routes v1.01 now on
cpan
P Kishor
punk.kish at gmail.com
Wed Jun 10 17:51:44 EDT 2009
On Wed, Jun 10, 2009 at 4:41 PM, Porta<julian.porta at gmail.com> wrote:
> Honestly, I haven't used CAP::Auth so it's hard for me to know how it works.
> How does it generate a runmode from the login form?How do you handle that *
> without* CAP::Routes?
>
>
I was hoping you wouldn't ask me that ;-). Frankly, CAP::Auth is a bit
of a mystery to me, which is why I have thought of rewriting its
functionality myself into a much simpler module, but I am trying to
stay away from rolling my own as much as possible based on the
assumption that Cees Hek is a much better programmer than I am.
As far as I understand, CAP::Auth exports one single method called
'authen' through which it exposes all its functionality. To designate
a run mode as protected, I do the following in my setup
$self->authen->protected_runmodes('runmode1', 'runmode2');
where runmode1 and runmode2 are the run modes that I want to protect.
I looked at its default login form on the client side, the one that
CAP::Auth generates if no alternative is provided, and saw that it has
a hidden form field called 'rm' with the value set to 'authen_login'
like so
<input type="hidden" name="rm" value="authen_login">
When the user enters the username and password and submits the form,
my sense is that the $self->authen->protected_runmodes('runmode1',
'runmode2') invocation above allows CAP::Auth to intercept the query
and ensure that the authentication takes place.
All this works fine with C::A::Dispatch, but fails with Routes.
Hope this helps you help me. If not, let me ask you another question
-- how do you recommend authentication while using your Routes module?
I am very keen on using your module as I like its simplicity as
compared to C::A::Dispatch, so am hoping for some clarification on
this.
Many thanks,
> On Wed, Jun 10, 2009 at 4:11 PM, P Kishor <punk.kish at gmail.com> wrote:
>
>> Hi,
>>
>> CAP::Routes now installs fine, and seems to work, mostly. I am having
>> a bit of difficulty trying to make it work with CAP::Authentication
>> and as a replacement for CA::Dispatch .
>>
>> With CAD and CAP::Authentication, I have the following that works
>>
>> # in index.cgi
>> CGI::Application::Dispatch->dispatch(
>> table => [
>> welcome => { app => 'App', rm => 'welcome' },
>> view => { app => 'App', rm => 'view' },
>> ],
>> );
>>
>> # in App.pm
>> sub setup {
>> my $self = shift;
>>
>> $self->start_mode("welcome");
>> $self->mode_param(param => 'rm');
>> $self->run_modes(
>> welcome => 'welcome',
>> view => 'view',
>> );
>>
>> $self->authen->protected_runmodes('view');
>> }
>>
>> Then I replace the above with the following
>> # in index.cgi
>> App->new(
>> TMPL_PATH => ..,
>> PARAMS => {
>> ..
>> },
>> )->run();
>>
>> # and in App.pm
>> sub setup {
>> my $self = shift;
>>
>> $self->routes([
>> welcome => 'welcome',
>> view => 'view',
>> ]);
>> $self->start_mode('welcome');
>>
>> $self->authen->protected_runmodes('view');
>> }
>>
>> But now, I get the error "Error executing run mode 'authen_login':
>> Can't locate object method "authen_login" via package "App"...
>>
>> This 'authen_login' run mode is being generated by the login form from
>> CAP::Authentication.
>>
>> On Thu, Jun 4, 2009 at 7:44 PM, Porta<julian.porta at gmail.com> wrote:
>> > Damn typo...
>> > Thanks for the advice. Just uploaded the fixed version to cpan... should
>> be
>> > available sometime tomorrow.
>> >
>> > I'll take a close look to the cpantesters (I haven't noticed it existence
>> > before).
>> >
>> >
>> > On Thu, Jun 4, 2009 at 9:19 PM, P Kishor <punk.kish at gmail.com> wrote:
>> >
>> >> On Thu, Jun 4, 2009 at 7:12 PM, Porta <julian.porta at gmail.com> wrote:
>> >> > Damn....
>> >> > thanks for the feedback... will look into it.
>> >> >
>> >>
>> >> Thanks. While you are investigating, note that it fails on just about
>> >> every platform. See
>> >>
>> >> http://www.cpantesters.org/distro/C/CGI-Application-Plugin-Routes.html
>> >>
>> >>
>> >> > On Thu, Jun 4, 2009 at 9:09 PM, P Kishor <punk.kish at gmail.com> wrote:
>> >> >
>> >> >> On Wed, Jun 3, 2009 at 5:28 PM, Porta <julian.porta at gmail.com>
>> wrote:
>> >> >> > Hi folks.
>> >> >> >
>> >> >> > Just in case anyone's interested, CGI::Application::Plugin::Routes
>> hit
>> >> >> v1.01
>> >> >> > and it's available on CPAN
>> >> >> >
>> >> >>
>> >>
>> http://search.cpan.org/~porta/CGI-Application-Plugin-Routes-1.01/lib/CGI/Application/Plugin/Routes.pm
>> <
>> http://search.cpan.org/%7Eporta/CGI-Application-Plugin-Routes-1.01/lib/CGI/Application/Plugin/Routes.pm
>> >
>> >> <
>> >>
>> http://search.cpan.org/%7Eporta/CGI-Application-Plugin-Routes-1.01/lib/CGI/Application/Plugin/Routes.pm
>> >> >
>> >> >>
>> >> >> Install failed on my Mac OS X with Perl 5.8.8
>> >> >>
>> >> >> Writing Makefile for CGI::Application::Plugin::Routes
>> >> >> cp lib/CGI/Application/Plugin/Routes.pm
>> >> >> blib/lib/CGI/Application/Plugin/Routes.pm
>> >> >> Manifying blib/man3/CGI::Application::Plugin::Routes.3
>> >> >> PORTA/CGI-Application-Plugin-Routes-1.01.tar.gz
>> >> >> /usr/bin/make -- OK
>> >> >> Running make test
>> >> >> PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
>> >> >> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> >> >> t/00-load.........Calling package is not a CGI::Application module so
>> >> >> not setting up the prerun hook. If you are using @ISA instead of
>> 'use
>> >> >> base', make sure it is in a BEGIN { } block, and make sure these
>> >> >> statements appear before the plugin is loaded at
>> >> >>
>> >> >>
>> >>
>> /Users/punkish/.cpan/build/CGI-Application-Plugin-Routes-1.01-frSwPF/blib/lib/CGI/Application/Plugin/Routes.pm
>> >> >> line 25.
>> >> >> # Testing CGI::Application::Plugin::Routes 1.01, Perl 5.008008,
>> >> >> /usr/local/bin/perl
>> >> >> t/00-load.........ok
>> >> >> t/basic...........Error executing class callback in prerun stage:
>> >> >> Can't locate object method "route_params" via package "TestApp" at
>> >> >>
>> >> >>
>> >>
>> /Users/punkish/.cpan/build/CGI-Application-Plugin-Routes-1.01-frSwPF/blib/lib/CGI/Application/Plugin/Routes.pm
>> >> >> line 104.
>> >> >> # Looks like your test exited with 2 before it could output anything.
>> >> >> t/basic...........dubious
>> >> >> Test returned status 2 (wstat 512, 0x200)
>> >> >> t/boilerplate.....ok
>> >> >> 2/3 unexpectedly succeeded
>> >> >> TODO PASSED tests 2-3
>> >> >>
>> >> >> t/pod-coverage....
>> >> >> # Failed test 'Pod coverage on CGI::Application::Plugin::Routes'
>> >> >> # at /usr/local/lib/perl5/site_perl/5.8.8/Test/Pod/Coverage.pm line
>> >> 126.
>> >> >> # Coverage for CGI::Application::Plugin::Routes is 80.0%, with 1
>> naked
>> >> >> subroutine:
>> >> >> # routes_params
>> >> >> t/pod-coverage....NOK 1/1# Looks like you failed 1 test of 1.
>> >> >> t/pod-coverage....dubious
>> >> >> Test returned status 1 (wstat 256, 0x100)
>> >> >> DIED. FAILED test 1
>> >> >> Failed 1/1 tests, 0.00% okay
>> >> >> t/pod.............ok
>> >> >> Failed Test Stat Wstat Total Fail List of Failed
>> >> >>
>> >> >>
>> >>
>> -------------------------------------------------------------------------------
>> >> >> t/basic.t 2 512 ?? ?? ??
>> >> >> t/pod-coverage.t 1 256 1 1 1
>> >> >> (2 subtests UNEXPECTEDLY SUCCEEDED).
>> >> >> Failed 2/5 test scripts. 1/6 subtests failed.
>> >> >> Files=5, Tests=6, 1 wallclock secs ( 0.19 cusr + 0.06 csys = 0.25
>> >> CPU)
>> >> >> Failed 2/5 test programs. 1/6 subtests failed.
>> >> >> make: *** [test_dynamic] Error 255
>> >> >> PORTA/CGI-Application-Plugin-Routes-1.01.tar.gz
>> >> >> /usr/bin/make test -- NOT OK
>> >> >> //hint// to see the cpan-testers results for installing this module,
>> >> try:
>> >> >> reports PORTA/CGI-Application-Plugin-Routes-1.01.tar.gz
>> >> >> Running make install
>> >> >> make test had returned bad status, won't install without force
>> >> >> Failed during this command:
>> >> >> PORTA/CGI-Application-Plugin-Routes-1.01.tar.gz: make_test NO
>> >> >>
>> >> >>
>> >> >>
>> >> >> >
>> >> >> > Enjoy.
>> >> >> >
>> >> >> >
>> >> >> > Porta.
>> >> >> >
>>
>> ##### CGI::Application community mailing list ################
>> ## ##
>> ## To unsubscribe, or change your message delivery options, ##
>> ## visit: http://lists.openlib.org/mailman/listinfo/cgiapp ##
>> ## ##
>> ## Web archive: http://lists.openlib.org/pipermail/cgiapp/ ##
>> ## Wiki: http://cgiapp.erlbaum.net/ ##
>> ## ##
>> ################################################################
>>
>>
>
> ##### CGI::Application community mailing list ################
> ## ##
> ## To unsubscribe, or change your message delivery options, ##
> ## visit: http://lists.openlib.org/mailman/listinfo/cgiapp ##
> ## ##
> ## Web archive: http://lists.openlib.org/pipermail/cgiapp/ ##
> ## Wiki: http://cgiapp.erlbaum.net/ ##
> ## ##
> ################################################################
>
>
More information about the cgiapp
mailing list