Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java
Hey Bill, many thanks to clean this up Peter [EMAIL PROTECTED] schrieb: billbarker2005/08/17 21:41:02 Modified:catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java Log: Clean up previous patch so it works with Custom UserDatabases, not just the Memory one. Revision ChangesPath 1.14 +22 -18 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java Index: UserDatabaseRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- UserDatabaseRealm.java 17 Aug 2005 10:40:33 - 1.13 +++ UserDatabaseRealm.java 18 Aug 2005 04:41:02 - 1.14 @@ -142,6 +142,12 @@ * @param role Security role to be checked */ public boolean hasRole(Principal principal, String role) { +if( principal instanceof GenericPrincipal) { +GenericPrincipal gp = (GenericPrincipal)principal; +if(gp.getUserPrincipal() instanceof User) { +principal = gp.getUserPrincipal(); +} +} if(! (principal instanceof User) ) { //Play nice with SSO and mixed Realms return super.hasRole(principal, role); @@ -203,29 +209,27 @@ */ protected Principal getPrincipal(String username) { -Principal principal = database.findUser(username); -if(principal instanceof GenericPrincipal) -return principal ; - +User user = database.findUser(username); +if(user == null) { +return null; +} + List roles = new ArrayList(); -if(principal instanceof MemoryUser) { -MemoryUser user = (MemoryUser)principal; -Iterator uroles = user.getRoles(); +Iterator uroles = user.getRoles(); +while(uroles.hasNext()) { +Role role = (Role)uroles.next(); +roles.add(role.getName()); +} +Iterator groups = user.getGroups(); +while(groups.hasNext()) { +Group group = (Group)groups.next(); +uroles = user.getRoles(); while(uroles.hasNext()) { Role role = (Role)uroles.next(); roles.add(role.getName()); } -Iterator groups = user.getGroups(); -while(groups.hasNext()) { -Group group = (Group)groups.next(); -uroles = user.getRoles(); -while(uroles.hasNext()) { -Role role = (Role)uroles.next(); -roles.add(role.getName()); -} -} } -return new GenericPrincipal(this, username, getPassword(username), roles, principal); +return new GenericPrincipal(this, username, user.getPassword(), roles, user); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java
billbarker2005/08/17 21:41:02 Modified:catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java Log: Clean up previous patch so it works with Custom UserDatabases, not just the Memory one. Revision ChangesPath 1.14 +22 -18 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java Index: UserDatabaseRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- UserDatabaseRealm.java17 Aug 2005 10:40:33 - 1.13 +++ UserDatabaseRealm.java18 Aug 2005 04:41:02 - 1.14 @@ -142,6 +142,12 @@ * @param role Security role to be checked */ public boolean hasRole(Principal principal, String role) { +if( principal instanceof GenericPrincipal) { +GenericPrincipal gp = (GenericPrincipal)principal; +if(gp.getUserPrincipal() instanceof User) { +principal = gp.getUserPrincipal(); +} +} if(! (principal instanceof User) ) { //Play nice with SSO and mixed Realms return super.hasRole(principal, role); @@ -203,29 +209,27 @@ */ protected Principal getPrincipal(String username) { -Principal principal = database.findUser(username); -if(principal instanceof GenericPrincipal) -return principal ; - +User user = database.findUser(username); +if(user == null) { +return null; +} + List roles = new ArrayList(); -if(principal instanceof MemoryUser) { -MemoryUser user = (MemoryUser)principal; -Iterator uroles = user.getRoles(); +Iterator uroles = user.getRoles(); +while(uroles.hasNext()) { +Role role = (Role)uroles.next(); +roles.add(role.getName()); +} +Iterator groups = user.getGroups(); +while(groups.hasNext()) { +Group group = (Group)groups.next(); +uroles = user.getRoles(); while(uroles.hasNext()) { Role role = (Role)uroles.next(); roles.add(role.getName()); } -Iterator groups = user.getGroups(); -while(groups.hasNext()) { -Group group = (Group)groups.next(); -uroles = user.getRoles(); -while(uroles.hasNext()) { -Role role = (Role)uroles.next(); -roles.add(role.getName()); -} -} } -return new GenericPrincipal(this, username, getPassword(username), roles, principal); +return new GenericPrincipal(this, username, user.getPassword(), roles, user); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java
pero2005/08/17 03:40:37 Modified:catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java Log: Create GenericPrincipal instead MemoryUser to eaisier cluster replication handling and compatibilty with all other standard implementation. MemoryUser can be found at userPrincipal. Revision ChangesPath 1.13 +27 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java Index: UserDatabaseRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- UserDatabaseRealm.java23 Feb 2005 19:27:56 - 1.12 +++ UserDatabaseRealm.java17 Aug 2005 10:40:33 - 1.13 @@ -19,7 +19,9 @@ import java.security.Principal; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import javax.naming.Context; @@ -30,6 +32,7 @@ import org.apache.catalina.User; import org.apache.catalina.UserDatabase; import org.apache.catalina.core.StandardServer; +import org.apache.catalina.users.MemoryUser; import org.apache.catalina.util.StringManager; @@ -200,8 +203,29 @@ */ protected Principal getPrincipal(String username) { -return (database.findUser(username)); - +Principal principal = database.findUser(username); +if(principal instanceof GenericPrincipal) +return principal ; + +List roles = new ArrayList(); +if(principal instanceof MemoryUser) { +MemoryUser user = (MemoryUser)principal; +Iterator uroles = user.getRoles(); +while(uroles.hasNext()) { +Role role = (Role)uroles.next(); +roles.add(role.getName()); +} +Iterator groups = user.getGroups(); +while(groups.hasNext()) { +Group group = (Group)groups.next(); +uroles = user.getRoles(); +while(uroles.hasNext()) { +Role role = (Role)uroles.next(); +roles.add(role.getName()); +} +} +} +return new GenericPrincipal(this, username, getPassword(username), roles, principal); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java
markt 2004/02/27 14:03:03 Modified:catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java Log: Provide an implementation for getName() and getPassword(). Found this whilst trying to use CLIENT-CERT authentication with the Sun web services developement kit. Revision ChangesPath 1.5 +9 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java Index: UserDatabaseRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- UserDatabaseRealm.java27 Feb 2004 14:58:45 - 1.4 +++ UserDatabaseRealm.java27 Feb 2004 22:03:03 - 1.5 @@ -214,7 +214,13 @@ */ protected String getPassword(String username) { -return (null); +User user = database.findUser(username); + +if (user == null) { +return null; +} + +return (user.getPassword()); } @@ -224,7 +230,7 @@ */ protected Principal getPrincipal(String username) { -return (null); +return (database.findUser(username)); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java JAASRealm.java JNDIRealm.java MemoryRealm.java JDBCRealm.java DataSourceRealm.java
remm2004/01/26 11:47:18 Modified:catalina/src/share/org/apache/catalina/realm UserDatabaseRealm.java JAASRealm.java JNDIRealm.java MemoryRealm.java JDBCRealm.java DataSourceRealm.java Log: - Remove compilation warnings. Revision ChangesPath 1.3 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java Index: UserDatabaseRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- UserDatabaseRealm.java2 Sep 2003 21:22:05 - 1.2 +++ UserDatabaseRealm.java26 Jan 2004 19:47:16 - 1.3 @@ -251,7 +251,7 @@ */ protected String getName() { -return (this.name); +return (name); } 1.5 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JAASRealm.java Index: JAASRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JAASRealm.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JAASRealm.java6 Oct 2003 09:19:40 - 1.4 +++ JAASRealm.java26 Jan 2004 19:47:16 - 1.5 @@ -383,7 +383,7 @@ */ protected String getName() { -return (this.name); +return (name); } 1.9 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java Index: JNDIRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- JNDIRealm.java12 Dec 2003 21:43:26 - 1.8 +++ JNDIRealm.java26 Jan 2004 19:47:16 - 1.9 @@ -1477,7 +1477,7 @@ */ protected String getName() { -return (this.name); +return (name); } 1.3 +5 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java Index: MemoryRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MemoryRealm.java 12 Mar 2003 06:50:12 - 1.2 +++ MemoryRealm.java 26 Jan 2004 19:47:16 - 1.3 @@ -272,7 +272,6 @@ if (digester == null) { digester = new Digester(); -digester.setDebug(this.debug); digester.setValidating(false); digester.addRuleSet(new MemoryRuleSet()); } @@ -286,7 +285,7 @@ */ protected String getName() { -return (this.name); +return (name); } 1.5 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java Index: JDBCRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JDBCRealm.java11 Dec 2003 22:28:49 - 1.4 +++ JDBCRealm.java26 Jan 2004 19:47:16 - 1.5 @@ -589,7 +589,7 @@ */ protected String getName() { -return (this.name); +return (name); } 1.4 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java Index: DataSourceRealm.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DataSourceRealm.java 2 Sep 2003 21:22:05 - 1.3 +++ DataSourceRealm.java 26 Jan 2004 19:47:16 - 1.4 @@ -485,7 +485,7 @@ */ protected String getName() { -return (this.name); +return (name); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]