From af292d8cffe70ae441cd13ddff09f8303daf0bcf Mon Sep 17 00:00:00 2001 From: Martin Ducar Date: Mon, 20 Feb 2017 13:21:37 +0100 Subject: [PATCH] Make Realm removal optional --- RemoteUserJiraAuth/RemoteUserJiraAuth.properties | 5 +++++ RemoteUserJiraAuth/pom.xml | 2 +- .../java/anguswarren/jira/RemoteUserJiraAuth.java | 13 +++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/RemoteUserJiraAuth/RemoteUserJiraAuth.properties b/RemoteUserJiraAuth/RemoteUserJiraAuth.properties index c0b4026..fbc81ef 100644 --- a/RemoteUserJiraAuth/RemoteUserJiraAuth.properties +++ b/RemoteUserJiraAuth/RemoteUserJiraAuth.properties @@ -15,3 +15,8 @@ header=x-forward-name #trustedhosts=192.168.0.1,127.0.0.1 #trustedhosts= trustedhosts=10.1.1.100,127.0.0.1 + +## Split username on REALM and use only part without it, example: +## joe.black@EXAMPLE.COM will become by default joe.black +## Default is set to set to true, Comment out and set to false if you need full name +#removeRealm=false diff --git a/RemoteUserJiraAuth/pom.xml b/RemoteUserJiraAuth/pom.xml index 21af933..1bf6a97 100644 --- a/RemoteUserJiraAuth/pom.xml +++ b/RemoteUserJiraAuth/pom.xml @@ -7,7 +7,7 @@ 4.0.0 anguswarren.jira RemoteUserJiraAuth - 1.2 + 1.3 Angus Warren diff --git a/RemoteUserJiraAuth/src/main/java/anguswarren/jira/RemoteUserJiraAuth.java b/RemoteUserJiraAuth/src/main/java/anguswarren/jira/RemoteUserJiraAuth.java index 997a34f..5e82a8d 100644 --- a/RemoteUserJiraAuth/src/main/java/anguswarren/jira/RemoteUserJiraAuth.java +++ b/RemoteUserJiraAuth/src/main/java/anguswarren/jira/RemoteUserJiraAuth.java @@ -68,8 +68,17 @@ public Principal getUser(HttpServletRequest request, HttpServletResponse respons } if (remoteuser != null) { - String[] username = remoteuser.split("@"); - user = getUser(username[0]); + Boolean removeRealm = new Boolean(true); + if (p.getProperty("removeRealm") != null) { + removeRealm = Boolean.parseBoolean(p.getProperty("removeRealm")); + } + if (removeRealm) { + log.debug("Trying to resolve remoteuser: " + remoteuser.split("@")[0]); + user = getUser(remoteuser.split("@")[0]); + } else { + log.debug("Trying to resolve remoteuser: " + remoteuser); + user = getUser(remoteuser); + } log.debug("Logging in with username: " + user); request.getSession().setAttribute(JiraSeraphAuthenticator.LOGGED_IN_KEY, user); request.getSession().setAttribute(JiraSeraphAuthenticator.LOGGED_OUT_KEY, null);