aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/httpauth.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-11-10 00:50:59 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-11-10 00:50:59 -0500
commit92a6f2e5e88b513ceaa1b9083ddbf6e928122893 (patch)
tree83be70ed008f9b5c8ae548d38dc256686b2c9757 /IkiWiki/Plugin/httpauth.pm
parent7dc357a6db55873d02a52ab7fbc451e5192fa5cb (diff)
downloadikiwiki-92a6f2e5e88b513ceaa1b9083ddbf6e928122893.tar
ikiwiki-92a6f2e5e88b513ceaa1b9083ddbf6e928122893.tar.gz
httpauth: Add cgiauthurl setting that can be used to do http basic auth only when ikiwiki needs authentication, rather than for any access to the cgi/wiki.
Diffstat (limited to 'IkiWiki/Plugin/httpauth.pm')
-rw-r--r--IkiWiki/Plugin/httpauth.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/httpauth.pm b/IkiWiki/Plugin/httpauth.pm
index 1816c9d74..bbfff859a 100644
--- a/IkiWiki/Plugin/httpauth.pm
+++ b/IkiWiki/Plugin/httpauth.pm
@@ -17,6 +17,13 @@ sub getsetup () {
safe => 1,
rebuild => 0,
},
+ cgiauthurl => {
+ type => "string",
+ example => "ttp://example.com/wiki/auth/ikiwiki.cgi",
+ description => "url to redirect to when authentication is needed",
+ safe => 1,
+ rebuild => 0,
+ },
}
sub auth ($$) {
@@ -26,6 +33,10 @@ sub auth ($$) {
if (defined $cgi->remote_user()) {
$session->param("name", $cgi->remote_user());
}
+ elsif (defined $config{cgiauthurl}) {
+ IkiWiki::redirect($cgi, $config{cgiauthurl}.'?'.$cgi->query_string());
+ exit;
+ }
}
1