summaryrefslogtreecommitdiffstats
path: root/extra/svn
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-07-08 03:46:19 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-07-08 03:46:19 +0000
commit69af1515d1fd7e9cf2ae01b19f075d5483f46cc1 (patch)
tree62dc52ef25c80444178e12458bb1459037d40049 /extra/svn
parentef5bca0fefea59abd5b9b56140c6f10530a4d302 (diff)
downloadredmine-69af1515d1fd7e9cf2ae01b19f075d5483f46cc1.tar.gz
redmine-69af1515d1fd7e9cf2ae01b19f075d5483f46cc1.zip
Check the browse repository or commit access permissions in Redmine.pm with LDAP. #5797
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3832 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'extra/svn')
-rw-r--r--extra/svn/Redmine.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/extra/svn/Redmine.pm b/extra/svn/Redmine.pm
index f608ee124..091e21930 100644
--- a/extra/svn/Redmine.pm
+++ b/extra/svn/Redmine.pm
@@ -338,7 +338,9 @@ sub is_member {
bindpw => $rowldap[4] ? $rowldap[4] : "",
filter => "(".$rowldap[6]."=%s)"
);
- $ret = 1 if ($ldap->authenticate($redmine_user, $redmine_pass));
+ my $method = $r->method;
+ $ret = 1 if ($ldap->authenticate($redmine_user, $redmine_pass) && ((defined $read_only_methods{$method} && $permissions =~ /:browse_repository/) || $permissions =~ /:commit_access/));
+
}
$sthldap->finish();
undef $sthldap;