chiark / gitweb /
password check, logout button
[nj-awaymsg.git] / mason / autohandler
index 469f4820f8691a23470c9e0c3ed5b62930fa4c31..933ed622e7c260a071f835be9241bea298c627fd 100644 (file)
@@ -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,
     );
 </%once>
 <%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();
+</%perl>
+<hr>
+<form method="POST" action="<% $cgi->url() %>">
+<% $ar->secret_hidden_html() %>
+<input type="submit" name="caf_logout" value="Logout">
+</form>
+<%perl>
 }
 </%perl>