summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Auth/Login/WWW.pm
diff options
context:
space:
mode:
authorbugreport%peshkin.net <>2004-08-11 22:53:43 +0200
committerbugreport%peshkin.net <>2004-08-11 22:53:43 +0200
commitd306c2edbbc171d5345b3378bd76ed5b69984316 (patch)
tree9810bba5d11c730fd4412a962dfd263655793470 /Bugzilla/Auth/Login/WWW.pm
parentdef7903801fcdbab2f227688375f38c5cb490f27 (diff)
downloadbugzilla-d306c2edbbc171d5345b3378bd76ed5b69984316.tar.gz
bugzilla-d306c2edbbc171d5345b3378bd76ed5b69984316.tar.xz
Bug 241903: Add Environment Variable Authentication for apache auth and SSO
patch by erik r=joel a=justdave
Diffstat (limited to 'Bugzilla/Auth/Login/WWW.pm')
-rw-r--r--Bugzilla/Auth/Login/WWW.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/Bugzilla/Auth/Login/WWW.pm b/Bugzilla/Auth/Login/WWW.pm
index def68df63..8b7724bef 100644
--- a/Bugzilla/Auth/Login/WWW.pm
+++ b/Bugzilla/Auth/Login/WWW.pm
@@ -36,6 +36,12 @@ sub login_class {
return $current_login_class;
}
+# can_logout determines if a user may log out
+sub can_logout {
+ return 1 if (login_class && login_class->can_logout);
+ return 0;
+}
+
sub login {
my ($class, $type) = @_;
@@ -64,6 +70,8 @@ sub login {
if ($userid) {
$user = new Bugzilla::User($userid);
+ $user->set_flags('can_logout' => $class->can_logout);
+
# Compat stuff
$::userid = $userid;
} else {
@@ -74,7 +82,7 @@ sub login {
sub logout {
my ($class, $user, $option) = @_;
- if ($class->login_class) {
+ if (can_logout) {
$class->login_class->logout($user, $option);
}
}