]> source.dussan.org Git - redmine.git/commitdiff
Have Redmine.pm respect the Authentication Required setting. #5797
authorEric Davis <edavis@littlestreamsoftware.com>
Thu, 8 Jul 2010 03:46:14 +0000 (03:46 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Thu, 8 Jul 2010 03:46:14 +0000 (03:46 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3831 e93f8b46-1217-0410-a6f0-8f06a7374b81

extra/svn/Redmine.pm

index 1b3b0910f8fa05be5d73c362253507cc4521f886..f608ee124dcd04560c23ab74d91d2117841ac17e 100644 (file)
@@ -227,9 +227,38 @@ sub authen_handler {
   }
 }
 
+# check if authentication is forced
+sub is_authentication_forced {
+  my $r = shift;
+
+  my $dbh = connect_database($r);
+  my $sth = $dbh->prepare(
+    "SELECT value FROM settings where settings.name = 'login_required';"
+  );
+
+  $sth->execute();
+  my $ret = 0;
+  if (my @row = $sth->fetchrow_array) {
+    if ($row[0] eq "1" || $row[0] eq "t") {
+      $ret = 1;
+    }
+  }
+  $sth->finish();
+  undef $sth;
+  
+  $dbh->disconnect();
+  undef $dbh;
+
+  $ret;
+}
+
 sub is_public_project {
     my $project_id = shift;
     my $r = shift;
+    
+    if (is_authentication_forced($r)) {
+      return 0;
+    }
 
     my $dbh = connect_database($r);
     my $sth = $dbh->prepare(