X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb.pm;h=d7aec9695d2374bb9310aa1f3c1d38aaff1bb333;hb=d9e0bd63f3f0522b4eaebe7d525048570fe43ef6;hp=00c8f008af6b3418a3c62f6386b44ccd0ed8905a;hpb=ffd7bf407e56bf271981151b6845f26ff1b366bc;p=ndwebbie.git diff --git a/lib/NDWeb.pm b/lib/NDWeb.pm index 00c8f00..d7aec96 100644 --- a/lib/NDWeb.pm +++ b/lib/NDWeb.pm @@ -5,10 +5,6 @@ use warnings; use Catalyst::Runtime '5.70'; -#Need to preload, otherwise the first hit is slow -use CGI qw/:standard/; -escapeHTML(''); - # Set flags and add plugins for the application # # -Debug: activates the debug mode for very useful log messages @@ -32,7 +28,23 @@ our $VERSION = '0.01'; __PACKAGE__->config( name => 'NDWeb' ); __PACKAGE__->config->{'Plugin::Authentication'}{'use_session'} = 1; - +__PACKAGE__->config(session => { + storage => "/tmp/ndweb-$>/sesession", + directory_umask => 077, + expires => 300, + verify_address => 1, +}); +__PACKAGE__->config( cache => { + backend => { + class => "Cache::FileCache", + cache_root => "/tmp/ndweb-$>", + directory_umask => 077, + }, +}); + +__PACKAGE__->config( page_cache => { + set_http_headers => 1, +}); # Start the application @@ -40,6 +52,7 @@ __PACKAGE__->setup(qw/ -Debug ConfigLoader Static::Simple + Unicode Authentication Authentication::Store::NDWeb @@ -48,11 +61,46 @@ __PACKAGE__->setup(qw/ Authorization::Roles Authorization::ACL + Session::DynamicExpiry Session Session::Store::File Session::State::Cookie + + Compress::Gzip + Compress::Deflate + + Cache + PageCache /); + +__PACKAGE__->deny_access_unless('/users',[qw/admin_users/]); +__PACKAGE__->deny_access_unless('/alliances',[qw/alliances/]); +__PACKAGE__->deny_access_unless('/alliances/resources',[qw/alliances_resources/]); +__PACKAGE__->deny_access_unless('/graphs/alliancevsintel',[qw/graphs_intel/]); +__PACKAGE__->deny_access_unless('/graphs/avgalliancevsintel',[qw/graphs_intel/]); +__PACKAGE__->deny_access_unless('/members',[qw/members/]); +__PACKAGE__->deny_access_unless('/covop',[qw/covop/]); +__PACKAGE__->deny_access_unless('/calls',[qw/calls_edit/]); +__PACKAGE__->allow_access_if('/calls/index',[qw/calls_list/]); +__PACKAGE__->allow_access_if('/calls/list',[qw/calls_list/]); +__PACKAGE__->allow_access_if('/calls/edit',[qw/members/]); +__PACKAGE__->deny_access_unless('/raids',[qw/raids_edit/]); +__PACKAGE__->allow_access_if('/raids/index',[qw//]); +__PACKAGE__->allow_access_if('/raids/view',[qw//]); +__PACKAGE__->allow_access_if('/raids/findRaid',[qw//]); +__PACKAGE__->allow_access_if('/raids/log',[qw//]); +__PACKAGE__->deny_access_unless('/intel',[qw/intel/]); +__PACKAGE__->deny_access_unless('/intel/members',[qw/intel_members/]); +__PACKAGE__->deny_access_unless('/intel/member',[qw/intel_member/]); +__PACKAGE__->deny_access_unless('/intel/naps',[qw/intel_naps/]); +__PACKAGE__->deny_access_unless('/jsrpc',[qw//]); +__PACKAGE__->allow_access_if('/jsrpc/end',1); +__PACKAGE__->deny_access_unless('/forum/allUnread',[qw//]); +__PACKAGE__->deny_access_unless('/forum/privmsg',[qw//]); +__PACKAGE__->deny_access_unless('/settings',[qw//]); +__PACKAGE__->deny_access_unless('/textexport/alliance',[qw/textexport_alliance/]); + =head1 NAME NDWeb - Catalyst based application