Thanks,
Robert Baker
SSL will be good to keep packet sniffers at bay. Send the user's
authorization info (maybe a private key or a username/password) in the
headers (look for soap headers in D7) and validate those at the server.
--
Deepak Shenoy (TeamB)
Agni Software
http://www.agnisoft.com
I have a similar set-up, and I have been passing the userid over SSL, and
using the userid with some session management to validate the user. So if I
had a function called, GetUsrName which returns the name of the current
user, if would have the following signature...
function GetUsrName(const UsrID : Integer): WideString; stdcall;
if I used SOAP headers the UsrID field could be placed in the header and
could therefore be removed from the function signature. However, this
doesn't improve the security does it? Because of the header definition
appearing in the WSDL doc for the service?
An approach I thought of would be to 'hide' the variables, by either alter
the name of the variable so UsrID could be changed to summink like
CurrentDate, but this has the problem of being misleading. The alternative
would be to use the OnBeforePublishWSDL of the TWSDLHTMLPublish component to
intercept and alter then wsdl file so it doesn't show the variables you
would use, but I don't know how effective it would be, or if there are other
ways of determining what the service functions are without using the WSDL
file. Seeing as I wouldn't be expecting anyone who doesn't have access to
the source code to access the service, I'm not bothered about the WSDL file
appearing wrong, but I'm interested in what any of you guys have to say
about any of the points I have raised.
Sorry for the lengthy post,
Simon. :}
--
Remove the numbers to email me.
"Deepak Shenoy (TeamB)" <shenoy.donotspam@agnisoftdotcom> wrote in message
news:3e51...@newsgroups.borland.com...
Not much at this time, but in the future web servers might have special
security features based on the soap header. (just thinking aloud here)
> if I used SOAP headers the UsrID field could be placed in the header and
> could therefore be removed from the function signature. However, this
> doesn't improve the security does it? Because of the header definition
> appearing in the WSDL doc for the service?
If you don't want to, simply don't publish the wsdl (remove the wsdl
component from your server web unit)
Many thanks,
Simon.
--
Remove the numbers to email me.
"Deepak Shenoy (TeamB)" <shenoy.donotspam@agnisoftdotcom> wrote in message
news:3e56...@newsgroups.borland.com...
You can share the Interface file (.pas file) with any potential client,
since the interface definition is pretty much the same as what is generated
by Delphi using the WSDL.
"Deepak Shenoy (TeamB)" <shenoy.donotspam@agnisoftdotcom> wrote in message
news:3e5a...@newsgroups.borland.com...
No other way than the WSDL. A random user can't get to a function definition
without the WSDL, unless he already knows your function name, parameter
types, namespaces etc. There's nothing you can call on the soap service that
will give you a list of functions.
HTH,