Преглед на файлове

Merge branch 'topic/pr-934' into develop

tags/v1.7.0
James Moger преди 8 години
родител
ревизия
4e54686d93
променени са 2 файла, в които са добавени 16 реда и са изтрити 0 реда
  1. 6
    0
      src/main/distrib/data/defaults.properties
  2. 10
    0
      src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java

+ 6
- 0
src/main/distrib/data/defaults.properties Целия файл

@@ -154,6 +154,12 @@ git.sshKrb5Keytab =
# SINCE 1.7.0
git.sshKrb5ServicePrincipalName =

# Strip the domain suffix from a kerberos username.
# e.g. james@bigbox would be "james"
#
# SINCE 1.7.0
git.sshKrb5StripDomain = true

# SSH backend NIO2|MINA.
#
# The Apache Mina project recommends using the NIO2 backend.

+ 10
- 0
src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java Целия файл

@@ -31,6 +31,8 @@ public class SshKrbAuthenticator extends GSSAuthenticator {

protected final Logger log = LoggerFactory.getLogger(getClass());
protected final IAuthenticationManager authManager;
protected final boolean stripDomain;


public SshKrbAuthenticator(IStoredSettings settings, IAuthenticationManager authManager) {
this.authManager = authManager;
@@ -44,6 +46,8 @@ public class SshKrbAuthenticator extends GSSAuthenticator {
if(! servicePrincipalName.isEmpty()) {
setServicePrincipalName(servicePrincipalName);
}

this.stripDomain = settings.getBoolean(Keys.git.sshKrb5StripDomain, false);
}

@Override
@@ -55,6 +59,12 @@ public class SshKrbAuthenticator extends GSSAuthenticator {
return true;
}
String username = identity.toLowerCase(Locale.US);
if (stripDomain) {
int p = username.indexOf('@');
if (p > 0) {
username = username.substring(0, p);
}
}
UserModel user = authManager.authenticate(username);
if (user != null) {
client.setUser(user);

Loading…
Отказ
Запис