From 3b85507552455f34c20d66850c483e587335a3d9 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 27 Jan 2013 19:14:30 +0000 Subject: [PATCH] password check, logout button --- mason/autohandler | 22 +++++++++++++++++++--- run-mason.cgi | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/mason/autohandler b/mason/autohandler index 469f482..933ed62 100644 --- a/mason/autohandler +++ b/mason/autohandler @@ -7,18 +7,34 @@ sub do_redirect_mason ($$$$) { CGI::Auth::Flexible::do_redirect_cgi($c,$ar,$new_url,$cookie); } -my $verifier = CGI::Auth::Flexible->new_verifier( +sub login_ok_self ($$) { + my ($c, $ar) = @_; + my $password = $c->param('password'); + return $password eq 'sesame' ? ('self',undef) : (undef,'wrong'); +} + +my $ar = CGI::Auth::Flexible->new_verifier( dir => "$ENV{'NJAWAYMSG'}/data", # do_redirect => \&do_redirect_mason, handle_divert => sub { $m->auto_send_headers(0); return 0; }, # print => sub { my ($c,$ar,@t) = @_; $m->print(@t); }, encrypted_only => 0, + username_param_names => [], + login_ok => \&login_ok_self, ); <%perl> my $cgi = $m->cgi_object(); -my $ar = $verifier->new_request($cgi); +print STDERR ">".$cgi->url()."<\n"; +my $ar = $ar->new_request($cgi); if ($ar->check_ok()) { - $m->call_next(); + $m->call_next(); + +
+
+<% $ar->secret_hidden_html() %> + +
+<%perl> } diff --git a/run-mason.cgi b/run-mason.cgi index 91916cc..d39bb83 100755 --- a/run-mason.cgi +++ b/run-mason.cgi @@ -15,8 +15,8 @@ unshift @INC, $perllib; my $pathsofar = $comp_root; die "$pathsofar $!" unless stat $pathsofar; +$ENV{'PATH_INFO'} ||= '/main'; my $path_info = $ENV{'PATH_INFO'}; -$path_info='' if !defined $path_info; foreach my $pathcomp (split m#/#, $path_info) { next if $pathcomp eq ''; -- 2.30.2