You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mi...@apache.org on 2019/12/06 13:32:36 UTC

[tomcat] branch 7.0.x updated: BZ 63982: CombinedRealm makes assumptions about principal implementation

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
     new 1d43f40  BZ 63982: CombinedRealm makes assumptions about principal implementation
1d43f40 is described below

commit 1d43f40f04adb729223f4b4d3d2d8c8fd82b0c6e
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Fri Dec 6 13:49:35 2019 +0100

    BZ 63982: CombinedRealm makes assumptions about principal implementation
---
 java/org/apache/catalina/realm/CombinedRealm.java | 14 ++++++++++++++
 webapps/docs/changelog.xml                        |  4 ++++
 2 files changed, 18 insertions(+)

diff --git a/java/org/apache/catalina/realm/CombinedRealm.java b/java/org/apache/catalina/realm/CombinedRealm.java
index 026af6d..f6a8a3d 100644
--- a/java/org/apache/catalina/realm/CombinedRealm.java
+++ b/java/org/apache/catalina/realm/CombinedRealm.java
@@ -30,6 +30,7 @@ import org.apache.catalina.GSSRealm;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.Realm;
+import org.apache.catalina.Wrapper;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.ietf.jgss.GSSContext;
@@ -412,6 +413,19 @@ public class CombinedRealm extends RealmBase {
         return authenticatedUser;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean hasRole(Wrapper wrapper, Principal principal, String role) {
+        for (Realm realm : realms) {
+            if (realm.hasRole(wrapper, principal, role)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     @Override
     protected String getName() {
         return name;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 50fefa6..b09bd6c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -85,6 +85,10 @@
         <code>TestAsyncContextStateChanges</code> test that caused it
         to hang indefinitely. (markt)
       </fix>
+      <fix>
+        <bug>63982</bug>: CombinedRealm makes assumptions about principal implementation
+        (michaelo)
+      </fix>
       <scode>
         Add a unit test for the session <code>FileStore</code> implementation
         and refactor loops in <code>FileStore</code> to use the ForEach style.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org