[Catalyst] Acl and Class::C3

Kiefer, Sascha sk at intertivity.com
Wed Jan 25 18:05:12 CET 2006


Hi, Everybody.


How i did set up things:

Catalyst::Plugin::Authorization::ACL 0.06
Catalyst::Plugin::Static::Simple 0.13
Catalyst::Plugin::Session 0.02
Catalyst::Plugin::Session::Store::File 0.05
Catalyst::Plugin::Session::State::Cookie 0.01
Catalyst::Plugin::FormValidator::Simple 0.06
Catalyst::Plugin::I18N 0.04

I use Class::DBI::Sweet and for testing Class::DBIx for my models.
Did update everything yesterday to have newest versions up and running.

1. When i start the build-in server, i get the warning:
Too late to run INIT block at F:/Perl/site/lib/Class/C3.pm line 52.


2. I added ACL like this: 
__PACKAGE__->deny_access_unless('/', sub { 0 } );
__PACKAGE__->allow_access_if('/login', sub { 1 } );

I get the error:

[Wed Jan 25 17:54:13 2006] [catalyst] [debug] Loaded Path actions:
.--------------------------------------+------------------------------------
---.
| Path                                 | Private
|
+--------------------------------------+------------------------------------
---+
| /admin/globalAddressbooks            | /admin/globalAddressbooks
|
| /admin/globalFilters                 | /admin/globalFilters
|
| /admin/globalOptions                 | /admin/globalOptions
|
| /admin/globalSettings                | /admin/globalSettings
|
| /admin/userManagement                | /admin/userManagement
|
| /login                               | /authen/login
|
'--------------------------------------+------------------------------------
---'

[Wed Jan 25 17:54:13 2006] [catalyst] [info] MyApp powered by Catalyst 5.63
The path '/login' does not exist (traversal hit a dead end at: ) at
F:/Perl/site/lib/Catalyst/Plugin/Authorization/ACL.pm line 74
Compilation failed in require at
D:\EIGENE~1\ENTWIC~1\projekte\Ox\OX-WEB~1\script\ox_myapp_server.pl line 49.

2.1 If i say

__PACKAGE__->allow_access_if('/authen/login', sub { 1 } );

It compiles, but then, when i access

/
/login
/authen/login

I always see the catalyst-debug-screen and the debug log looks like this:

[Wed Jan 25 18:01:26 2006] [catalyst] [debug] running ACL rule
CODE(0x2f46838) defined at
D:/EIGENE~1/ENTWIC~1/projekte/Ox/OX-WEB~1/script/../lib/Ox/WebMail.pm
[Wed Jan 25 18:01:26 2006] [catalyst] [debug] running ACL rule
CODE(0x2f46838) defined at
D:/EIGENE~1/ENTWIC~1/projekte/Ox/OX-WEB~1/script/../lib/Ox/WebMail.pm
[Wed Jan 25 18:01:26 2006] [catalyst] [error] Caught exception in ->ACL
error rethrower "Access to begin denied by rule CODE(0x2f46838) (defined at
D:/EIGENE~1/
lib/Ox/WebMail.pm line 25)."
[Wed Jan 25 18:01:26 2006] [catalyst] [error] Caught exception in ->ACL
error rethrower "Access to end denied by rule CODE(0x2f46838) (defined at
D:/EIGENE~1/EN
b/Ox/WebMail.pm line 25)."

2.2 And i see those addionally warnings:

Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
934.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
936.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
938.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
968.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
968.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
1018.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
1018.
Use of uninitialized value in concatenation (.) or string at
F:/Perl/site/lib/Catalyst.pm line 1040.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
934.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
936.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
938.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
968.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
968.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
1018.
Use of uninitialized value in string at F:/Perl/site/lib/Catalyst.pm line
1018.
Use of uninitialized value in concatenation (.) or string at
F:/Perl/site/lib/Catalyst.pm line 1040.

Any ideas?
--esskar




More information about the Catalyst mailing list