pier 01/09/13 18:04:19
Modified: webapp/java WarpRequestHandler.java
Log:
Fix for bug #3574. Thanks to Fred Romelfanger <[EMAIL PROTECTED]>.
Revision Changes Path
1.16 +26 -0 jakarta-tomcat-connectors/webapp/java/WarpRequestHandler.java
Index: WarpRequestHandler.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/java/WarpRequestHandler.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- WarpRequestHandler.java 2001/08/05 18:33:42 1.15
+++ WarpRequestHandler.java 2001/09/14 01:04:19 1.16
@@ -75,6 +75,8 @@
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.StringParser;
+import java.security.Principal;
+
public class WarpRequestHandler {
private StringParser parser = new StringParser();
@@ -167,6 +169,11 @@
logger.debug("Request user="+user+" auth="+auth);
request.setAuthType(auth);
// What to do for user name?
+ if(user != null && auth != null && auth.equals("Basic")) {
+ Principal prin = new BasicPrincipal(user);
+ request.setUserPrincipal(prin);
+ }
+
break;
}
@@ -397,5 +404,24 @@
}
}
+ class BasicPrincipal implements Principal {
+ private String user;
+ BasicPrincipal(String user) {
+ this.user = user;
+ }
+
+ public boolean equals(Object another) {
+ return (another instanceof Principal &&
+ ((Principal)another).getName().equals(user));
+ }
+
+ public String getName() {
+ return user;
+ }
+
+ public String toString() {
+ return getName();
+ }
+ }
}