You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pi...@apache.org on 2001/09/14 03:04:19 UTC

cvs commit: jakarta-tomcat-connectors/webapp/java WarpRequestHandler.java

pier        01/09/13 18:04:19

  Modified:    webapp/java WarpRequestHandler.java
  Log:
  Fix for bug #3574. Thanks to Fred Romelfanger <fr...@stsci.edu>.
  
  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();
  +        }
  +    }
   }