From 7b6c1bdaba9877397ffdaf0c8641196cfb060c39 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov <vitalif@yourcmc.ru> Date: Thu, 01 Oct 2015 06:08:53 -0400 Subject: [PATCH] Allow to strip domain from kerberos usernames --- src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java b/src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java index 8170c93..638c718 100644 --- a/src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java +++ b/src/main/java/com/gitblit/transport/ssh/SshKrbAuthenticator.java @@ -27,10 +27,12 @@ protected final Logger log = LoggerFactory.getLogger(getClass()); protected final IAuthenticationManager authManager; + protected final boolean stripDomain; - public SshKrbAuthenticator(IAuthenticationManager authManager) { + public SshKrbAuthenticator(IAuthenticationManager authManager, boolean stripDomain) { this.authManager = authManager; - log.info("registry {}", authManager); + this.stripDomain = stripDomain; + log.info("registry {}", authManager); } public boolean validateIdentity(ServerSession session, String identity) { @@ -41,6 +43,11 @@ 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); -- Gitblit v1.9.1