Add support for db_where_clause - that variable is appended to password query.

git-svn-id: http://redmine.rubyforge.org/svn/branches/swistak@1378 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Liwiusz Ociepa
2008-04-28 17:49:49 +00:00
parent d3522c10e4
commit d9385ce9a2

View File

@@ -58,6 +58,9 @@ Authen::Simple::LDAP (and IO::Socket::SSL if LDAPS is used):
PerlSetVar db_user redmine
PerlSetVar db_pass password
# Optional where clause (fulltext search would be slow - and
# is database dependant).
# PerlSetVar db_where_clause "and members.role_id IN (1,2)"
</Location>
To be able to browse repository inside redmine, you must add something
@@ -182,8 +185,10 @@ sub is_member {
my $pass_digest = Digest::SHA1::sha1_hex($redmine_pass);
my $query = "SELECT hashed_password, auth_source_id FROM members, projects, users WHERE projects.id=members.project_id AND users.id=members.user_id AND users.status=1 AND login=? AND identifier=? ";
my ($where_clause) = map { $r->dir_config($_) } qw/db_where_clause/;
my $sth = $dbh->prepare(
"SELECT hashed_password, auth_source_id FROM members, projects, users WHERE projects.id=members.project_id AND users.id=members.user_id AND users.status=1 AND login=? AND identifier=?;"
$query.($where_clause ? $where_clause : "").";"
);
$sth->execute($redmine_user, $project_id);