Practice of Programming

プログラム とか Linuxとかの話題

FSWikiとBASIC認証

書くの、すごいひさしぶり。

--- Wiki.pm.orig  2007-12-31 12:05:37.000000000 +0900
+++ Wiki.pm     2008-04-30 01:00:16.000000000 +0900
@@ -120,6 +120,7 @@
 #==============================================================================
 sub get_login_info {
        my $self    = shift;
+        $self->{'login_info'} ||= $self->login_check();
        if(defined($self->{'login_info'})){
                return $self->{'login_info'};
        }
@@ -156,7 +157,7 @@
                $self->{'login_info'} = undef;
                return undef;
        }
-       
+
        # ユーザ情報を返却
        $self->{'login_info'} = {id=>$id,type=>$type,path=>$path};
        return $self->{'login_info'};
@@ -173,10 +174,13 @@
        my $pass = shift;
        my $path = $self->get_CGI()->path_info();
        foreach(@{$self->{"user"}}){
-               if($_->{id} eq $id && $_->{pass} eq $pass){
+               if($_->{id} eq $ENV{REMOTE_USER} || ($_->{id} eq $id && $_->{pass} eq $pass)){
                  return {id=>$id,pass=>$pass,type=>$_->{type},path=>$path};
                }
        }
+        if ($ENV{REMOTE_USER}) {
+                return {id=>$ENV{REMOTE_USER} ,pass=>'',type=> 1 ,path=>$path};
+        }
        return undef;
 }

こんなんでどうかなぁ。

ログインのとこ、クリックすると、微妙な気分になっちゃうけど。それは放っとこう。