实施Web服务时必须评估哪些设计模式?
更重要的是,Web服务必须考虑哪些安全方面?由于WSDL包含服务的完整信息,包括输入,输出格式和访问URL,因此安全性不会受到Web服务的影响吗?
提前致谢,
修改
只想添加一些东西。
我正在开发Java中的服务,该服务将部署在Linux(Fedora)机器上托管的JBoss服务器上。
就考虑服务的认证机制而言,是的,我确实已经有了。除非用户获得令牌,否则他将无法使用实际执行业务操作的其他服务。
此外,使用CDATA将实际请求隐藏在2层XML中,用于SOAP Envelope主体内的实际请求主体。类似下面的代码。
<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协议,我知道这将是服务器级别的配置。
答案 0 :(得分:0)
这取决于事物的数量:
我们做的一件事(当我们在内部公开时),我们使用Windows / NTLM身份验证,以便我们域中的特定人员可以运行它。
我会确保我不会暴露任何可以粉碎Web服务的东西:)(比如GetAllData或类似的smth),这样你只暴露无状态的方法,如果需要的话很容易控制。
另外,使用了confluence的API(基于webservice),并且他们使用了身份验证机制,您首先登录,并且您获得了令牌,并且您必须在您执行的每个Web服务调用上附加该令牌。