aspose file tools*
The moose likes Web Services and the fly likes WebServiceContext.getUserPrincipal() Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "WebServiceContext.getUserPrincipal() Question" Watch "WebServiceContext.getUserPrincipal() Question" New topic

WebServiceContext.getUserPrincipal() Question

Emil Jennings
Ranch Hand

Joined: Jul 09, 2010
Posts: 47
So I've seen a lot of talk regarding the example:

And questions regarding what is returned by the service being null. The usual response is that the web.xml file has to be configured to handle security. My question is this: I don't care about security and authentication, is there a way I can have the service identify what client made the request? Specifically, I make a request to the server via a client and have the Web service determine the userID of the client. I'm trying to get the service to display something like "userID <userIdName> made a request to service <serviceName> from <IPAddress>." No authentication is needed, just information displayed from the service.

Thanks in advance.
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
The IP address can be obtained from the HttpServletRequest, I believe. This will not be available if the web service is EJB-based.
Standard Java EE security will not supply the name of a user, but only that of the principal and the client needs to present credentials in order for the principal to be set.
There is, as far as I know, no mechanism in HTTP that enclose a user id with every request.
Best wishes!

My free books and tutorials:
Emil Jennings
Ranch Hand

Joined: Jul 09, 2010
Posts: 47
Thanks Ivan, I made the changes (see below) based on your response and I'm now getting an IP address.

I agree. Here's the link:
subject: WebServiceContext.getUserPrincipal() Question
Similar Threads
Problem when querying after create or update
Java for log in authentication? (looking for tutorial that applies to situation)
Can silent login be achieved?
web service client needs to pass a Windows security token for authentication
The server sent HTTP status code -1