axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ngalla...@apache.org
Subject svn commit: r551668 - /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
Date Thu, 28 Jun 2007 19:18:09 GMT
Author: ngallardo
Date: Thu Jun 28 12:18:09 2007
New Revision: 551668

URL: http://svn.apache.org/viewvc?view=rev&rev=551668
Log:
Expose the UserPrincipal from the servlet thread context.

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java?view=diff&rev=551668&r1=551667&r2=551668
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
(original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/WebServiceContextImpl.java
Thu Jun 28 12:18:09 2007
@@ -18,39 +18,72 @@
  */
 package org.apache.axis2.jaxws.context;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.servlet.http.HttpServletRequest;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
 import java.security.Principal;
 
 public class WebServiceContextImpl implements WebServiceContext {
 
+    private static final Log log = LogFactory.getLog(WebServiceContext.class);
+    
     private MessageContext soapMessageContext;
 
     public WebServiceContextImpl() {
         super();
-        // TODO Auto-generated constructor stub
     }
 
     /* (non-Javadoc)
-      * @see javax.xml.ws.WebServiceContext#getMessageContext()
-      */
+     * @see javax.xml.ws.WebServiceContext#getMessageContext()
+     */
     public MessageContext getMessageContext() {
         return soapMessageContext;
     }
 
     /* (non-Javadoc)
-      * @see javax.xml.ws.WebServiceContext#getUserPrincipal()
-      */
+     * @see javax.xml.ws.WebServiceContext#getUserPrincipal()
+     */
     public Principal getUserPrincipal() {
-        // TODO Auto-generated method stub
+        if (soapMessageContext != null) {
+            HttpServletRequest request = (HttpServletRequest) soapMessageContext.get(MessageContext.SERVLET_REQUEST);
+            if (request != null) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Access to the user Principal was requested.");
+                }
+                return request.getUserPrincipal();    
+            }
+            else {
+                if (log.isDebugEnabled()) {
+                    log.debug("No HttpServletRequest object was found, so no Principal can
be found.");
+                }
+            }
+        }
+        
         return null;
     }
 
     /* (non-Javadoc)
-      * @see javax.xml.ws.WebServiceContext#isUserInRole(java.lang.String)
-      */
-    public boolean isUserInRole(String s) {
-        // TODO Auto-generated method stub
+     * @see javax.xml.ws.WebServiceContext#isUserInRole(java.lang.String)
+     */
+    public boolean isUserInRole(String user) {
+        if (soapMessageContext != null) {
+            HttpServletRequest request = (HttpServletRequest) soapMessageContext.get(MessageContext.SERVLET_REQUEST);
+            if (request != null) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Checking to see if the user in the role.");
+                }
+                return request.isUserInRole(user);    
+            }
+            else {
+                if (log.isDebugEnabled()) {
+                    log.debug("No HttpServletRequest object was found, so no role check can
be performed.");
+                }
+            }
+        }
+        
         return false;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org


Mime
View raw message