From 8847ad9fda34dbaa85a8614b1c903672c0153088 Mon Sep 17 00:00:00 2001 From: Matt Gill Date: Wed, 12 Sep 2018 15:20:45 +0100 Subject: [PATCH] Removed realm name computation side effect. --- .../java/com/sun/web/security/RealmAdapter.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/appserver/security/webintegration/src/main/java/com/sun/web/security/RealmAdapter.java b/appserver/security/webintegration/src/main/java/com/sun/web/security/RealmAdapter.java index 75b28c24d33..26951e43972 100644 --- a/appserver/security/webintegration/src/main/java/com/sun/web/security/RealmAdapter.java +++ b/appserver/security/webintegration/src/main/java/com/sun/web/security/RealmAdapter.java @@ -240,7 +240,7 @@ public RealmAdapter(String realmName, String moduleID) { public void initializeRealm(Object descriptor, boolean isSystemApp, String realmName) { webDescriptor = (WebBundleDescriptor) descriptor; - computeRealmName(webDescriptor, realmName); + this.realmName = computeRealmName(webDescriptor, realmName); jaccContextId = WebSecurityManager.getContextID(webDescriptor); @@ -263,7 +263,7 @@ public void initializeRealm(Object descriptor, boolean isSystemApp, String realm } moduleID = webDescriptor.getModuleID(); - jaspicRealm = new JaspicRealm(realmName, isSystemApp, webDescriptor, requestTracing); + jaspicRealm = new JaspicRealm(this.realmName, isSystemApp, webDescriptor, requestTracing); cNonceValidator = new CNonceValidator(webDescriptor, appCNonceCacheMapProvider, cNonceCacheFactoryProvider); } @@ -952,16 +952,17 @@ private boolean authenticate(String username, char[] password, X509Certificate[] return false; } - private void computeRealmName(WebBundleDescriptor webDescriptor, String realmName) { + private String computeRealmName(WebBundleDescriptor webDescriptor, String realmName) { Application application = webDescriptor.getApplication(); LoginConfiguration loginConfig = webDescriptor.getLoginConfiguration(); - this.realmName = application.getRealm(); - if (this.realmName == null && loginConfig != null) { - this.realmName = loginConfig.getRealmName(); + String computedRealmName = application.getRealm(); + if (computedRealmName == null && loginConfig != null) { + computedRealmName = loginConfig.getRealmName(); } - if (realmName != null && (this.realmName == null || this.realmName.equals(""))) { - this.realmName = realmName; + if (realmName != null && (computedRealmName == null || computedRealmName.equals(""))) { + computedRealmName = realmName; } + return computedRealmName; } private void doLogout(HttpRequest request, boolean extensionEnabled) {