File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Services and the fly likes Web Service Security Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Web Service Security" Watch "Web Service Security" New topic
Author

Web Service Security

Vijaya Patil
Greenhorn

Joined: Sep 02, 2011
Posts: 5

Hi,

I have written a web service for new user enrollment which will be used by our trusted 3rd party services but i found that anybody who come to know the web service url can enroll the user. Can you please let know what do i need to do to make sure that the request coming is coming from a valid party?


Thanks a lot!
Vijaya Patil
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41188
    
  45
Sounds like the service does not use authentication. A username/password scheme would be a good start. If I may point to something I've written, start reading at http://www.javaranch.com/journal/200603/Journal200603.jsp#a2 and then http://www.javaranch.com/journal/200709/Journal200709.jsp#a3. Those articles assume that you are using the Apache Axis SOAP stack and its Rampart WS-Security module.


Ping & DNS - my free Android networking tools app
Vijaya Patil
Greenhorn

Joined: Sep 02, 2011
Posts: 5

Ulf Dittmer wrote:Sounds like the service does not use authentication. A username/password scheme would be a good start. If I may point to something I've written, start reading at http://www.javaranch.com/journal/200603/Journal200603.jsp#a2 and then http://www.javaranch.com/journal/200709/Journal200709.jsp#a3. Those articles assume that you are using the Apache Axis SOAP stack and its Rampart WS-Security module.


Thank you Ulf!!
I could implement WS-Security using Axis 1.5.x successfully using your doc. I will try to use Axis2 now.
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
Keep in mind that it is better to NOT code anything related to security-related functionality in the logic of the web service or in the logic of the application that the web service connects to.

If the web service is SOAP-based, then the common best practice is to create a server-side message handler and configure it via handler chain. Code the security logic in the message handler.
Vijaya Patil
Greenhorn

Joined: Sep 02, 2011
Posts: 5

Thanks Jimmy I will take note of that.

I was busy with different priority in project so coming back to this I have another question -

After going through your links and some other stuff I know of following approaches which can be implemented.
I want to know which one is better

1. Configure username/password for each web service operation invocation.
2. Configure username/password to invoke authenticate() operation first which will generate a token and send it back to client.
Client to use this token to call subsequent web services operation.

or let me know if there is any better approach other than these.

Pankaj Kumarkk
Ranch Hand

Joined: Apr 17, 2011
Posts: 108
Option 2 is what is typically used. Authentication is typically for a application(and not operation). If you want to control operation level access then i would guess that this would come under scope of authorization. You can decide what authorization mechanism you use to limit users to specific operations only.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Web Service Security
 
Similar Threads
How to call external service(Third party api) from Enterprise bean(Session bean)
Need help with SoapUI and/or Eclipse web-service Explorer.
Testing web service
Stateless bean also exposed as web service?
Web services security