craigmcc 01/03/30 15:23:19
Modified: catalina/src/share/org/apache/catalina/connector
HttpRequestBase.java
Log:
Reverse the order of testing (check aliases first, then real roles) to conform
to the servlet spec requirements.
Submitted by: Bill Claypool <[EMAIL PROTECTED]>
Revision Changes Path
1.19 +14 -17
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java
Index: HttpRequestBase.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- HttpRequestBase.java 2001/03/26 20:02:17 1.18
+++ HttpRequestBase.java 2001/03/30 23:23:19 1.19
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
1.18 2001/03/26 20:02:17 craigmcc Exp $
- * $Revision: 1.18 $
- * $Date: 2001/03/26 20:02:17 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java,v
1.19 2001/03/30 23:23:19 craigmcc Exp $
+ * $Revision: 1.19 $
+ * $Date: 2001/03/30 23:23:19 $
*
* ====================================================================
*
@@ -100,7 +100,7 @@
* be implemented.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.18 $ $Date: 2001/03/26 20:02:17 $
+ * @version $Revision: 1.19 $ $Date: 2001/03/30 23:23:19 $
*/
public class HttpRequestBase
@@ -1146,19 +1146,16 @@
if (realm == null)
return (false);
- // See if this role is assigned directly to the authenticated user
- if (realm.hasRole(userPrincipal, role))
- return (true);
-
- // Map the specified role if it is an alias defined in a
- // <security-role-ref> element
- if (wrapper == null)
- return (false);
- String realRole = wrapper.findSecurityReference(role);
- if (realRole != null)
- return (realm.hasRole(userPrincipal, realRole));
- else
- return (false);
+ // Check for a role alias defined in a <security-role-ref> element
+ if (wrapper != null) {
+ String realRole = wrapper.findSecurityReference(role);
+ if ((realRole != null) &&
+ realm.hasRole(userPrincipal, realRole))
+ return (true);
+ }
+
+ // Check for a role defined directly as a <security-role>
+ return (realm.hasRole(userPrincipal, role));
}