2011-05-10 103 views
0

实现Web服务时必须评估哪些设计模式?Webservice:考虑设计和安全考虑事项?

更重要的是,Web服务必须考虑哪些安全方面?由于WSDL包含服务的完整信息,包括输入,输出格式和访问URL,安全性是否会受到Web服务的影响?

由于提前,

编辑

只是想添加一些东西。

我正在开发将部署在Linux(Fedora)机器上托管的JBoss服务器上的Java服务。

至于认证机制被认为是调用服务,是的,我确实有。除非用户获得令牌,否则他将无法使用实际执行业务操作的其他服务。

另外,在SOAP Envelope体内部的实际请求体中,使用CDATA在2层XML中隐藏了实际的请求。像下面的代码。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:myns="http://testserver/testservice"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <myns:Operation> 
     <myns:OperationRequestBody><![CDATA[-- actual request XML goes here --]]></myns:OperationRequestBody> 
     </myns:Operation> 
    </soapenv:Body> 
</soapenv:Envelope> 

是否存在URL的任何安全方面 - 比如说使用HTTPS协议,我知道它是服务器级别的配置。

+1

不要张贴更多信息的答案。改为编辑你的问题。 – dandan78 2011-05-11 10:05:53

回答

0

以及它取决于事物数量:

  • 无论您是暴露组织(在这里你不必担心太多关于安全性),而不是向外暴露webservice的内部Web服务的。

我们做的一件事情(当我们内部公开时),我们使用Windows/NTLM身份验证,以便我们域中的特定人员可以运行它。

我会确保我没有暴露任何可以破坏Web服务的东西:)(如GetAllData或类似的),以便只公开无状态的方法,并且如果需要的话可以轻松地进行节制。

此外,还使用了confluence的API(基于webservice),他们使用了Authentication机制,您首先登录并获得令牌,并且您必须在每次执行Web服务调用时都附加该令牌。