소스 검색

Merged #41 "Warn on LDAP synchronization if the uid attribute is null/undefined"

tags/v1.5.0
James Moger 10 년 전
부모
커밋
a27e682a64
2개의 변경된 파일9개의 추가작업 그리고 4개의 파일을 삭제
  1. 1
    0
      releases.moxie
  2. 8
    4
      src/main/java/com/gitblit/auth/LdapAuthProvider.java

+ 1
- 0
releases.moxie 파일 보기

@@ -16,6 +16,7 @@ r22: {
- Ensure the Lucene ticket index is updated on repository deletion.
changes:
- Specify the --dailyLogFile option for the Ubuntu and CentOS service scripts (issue-348)
- Improve logging for missing LDAP uid attribute when synchronizing (issue-394)
- The ticket close-on-push commit message regular expression is now configurable by a setting (issue-404)
- Redirect to summary page on edit repository (issue-405)
- Option to allow LDAP users to directly authenticate without performing LDAP searches (pr-162)

+ 8
- 4
src/main/java/com/gitblit/auth/LdapAuthProvider.java 파일 보기

@@ -119,8 +119,12 @@ public class LdapAuthProvider extends UsernamePasswordAuthenticationProvider {
final Map<String, UserModel> ldapUsers = new HashMap<String, UserModel>();

for (SearchResultEntry loggingInUser : result.getSearchEntries()) {

final String username = loggingInUser.getAttribute(uidAttribute).getValue();
Attribute uid = loggingInUser.getAttribute(uidAttribute);
if (uid == null) {
logger.error("Can not synchronize with LDAP, missing \"{}\" attribute", uidAttribute);
continue;
}
final String username = uid.getValue();
logger.debug("LDAP synchronizing: " + username);

UserModel user = userManager.getUserModel(username);
@@ -295,13 +299,13 @@ public class LdapAuthProvider extends UsernamePasswordAuthenticationProvider {
if (ldapConnection != null) {
try {
boolean alreadyAuthenticated = false;
String bindPattern = settings.getString(Keys.realm.ldap.bindpattern, "");
if (!StringUtils.isEmpty(bindPattern)) {
try {
String bindUser = StringUtils.replace(bindPattern, "${username}", escapeLDAPSearchFilter(simpleUsername));
ldapConnection.bind(bindUser, new String(password));
alreadyAuthenticated = true;
} catch (LDAPException e) {
return null;

Loading…
취소
저장