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?
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.
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.
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.