Author: markt Date: Wed Aug 27 14:09:21 2008 New Revision: 689619 URL: http://svn.apache.org/viewvc?rev=689619&view=rev Log: JAASMemoryLoginModule didn't confirm to JAASRealm contract. This prevented any user from being assigned a role.
Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java tomcat/container/tc5.5.x/webapps/docs/changelog.xml tomcat/current/tc5.5.x/STATUS.txt Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=689619&r1=689618&r2=689619&view=diff ============================================================================== --- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java (original) +++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java Wed Aug 27 14:09:21 2008 @@ -194,8 +194,18 @@ return (false); // Add our Principal to the Subject if needed - if (!subject.getPrincipals().contains(principal)) + if (!subject.getPrincipals().contains(principal)) { subject.getPrincipals().add(principal); + // Add the roles as additional subjects as per the contract with the + // JAASRealm + if (principal instanceof GenericPrincipal) { + String roles[] = ((GenericPrincipal) principal).getRoles(); + for (int i = 0; i < roles.length; i++) { + subject.getPrincipals().add( + new GenericPrincipal(null, roles[i], null)); + } + } + } committed = true; return (true); Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=689619&r1=689618&r2=689619&view=diff ============================================================================== --- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original) +++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Wed Aug 27 14:09:21 2008 @@ -115,6 +115,9 @@ <bug>45453</bug>: Fix race condition in JDBC Realm. Based on a patch provided by Santtu Hyrkk. (markt) </fix> + <fix> + JAAS Realm did not read role information for users. (markt) + </fix> </changelog> </subsection> <subsection name="Connectors"> Modified: tomcat/current/tc5.5.x/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/current/tc5.5.x/STATUS.txt?rev=689619&r1=689618&r2=689619&view=diff ============================================================================== --- tomcat/current/tc5.5.x/STATUS.txt (original) +++ tomcat/current/tc5.5.x/STATUS.txt Wed Aug 27 14:09:21 2008 @@ -31,13 +31,6 @@ 0: fhanik - silently swallow an error, and default to the default config file, yoavs: don't like silent swallowing -1: -* JAASMemoryLoginModule didn't confirm to JAASRealm contract. This prevented any - user from being assigned a role. - http://svn.apache.org/viewvc?rev=684081&view=rev - +1: markt, fhanik, rjung - -1: - rjung: sudjucts -> subjects ;) - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=45576 Add support for DIGEST to the JAASRealm http://svn.apache.org/viewvc?rev=684234&view=rev --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]