2013-05-03 143 views
4

我的第一篇文章在这里!我想获得一些关于Web服务安全性的社区帮助。Web服务的安全性(REST和SOAP)

我在做web服务安全方面的最新技术。我需要解决关于身份识别,访问控制,传输相关问题如数据完整性,保护,不可否认性等问题的每一点解决方案。

因此,我提取了一些真实世界的解决方案来满足这些需求,我发现那些基于SOAP的Web服务:

  • 鉴定:WS-安全框架
  • 验证:可扩展访问控制标记语言(XACML)
  • 授权
    • 分机ensible权限标记语言(XrML)
    • XML密钥管理(XKMS)
    • 安全断言标记语言(SAML)
    • 的.NET Passport
  • Confidentialité
    • 的WS-Security框架
    • XML加密
    • 安全套接字层(SSL)
    • WSS

并采用弹簧式安全

在具有声誉另一方面RESTful Web服务是不太安全的,几乎所有的人都是可实现的。而基于Web的SSL/TLS是加密很好的解决方案,但其它安全协议确实存在,如:

  • 的OAuth:使用Facebook,微博,没有令牌交换
  • OpenID登录:由谷歌
  • 使用
  • CAS
  • LDAP,Kerberos的
  • 假面,BrowerID

另一种解决方案可能是安全的企业总线集成服务(安全即服务)..

所以我的问题是:是否有任何其他的解决方案,我应该知道?有没有其他的框架?

非常感谢

+0

上一篇文章应该会帮助你http://stackoverflow.com/questions/853620/secure-web-services-rest-over-https-vs-soap-ws-security-which-is-better – AurA 2013-05-03 16:13:31

回答

4

只是增加一个点是,关于宁静的web服务的开发人员可以使用安全由Tomcat servlet容器提供。这可以通过在server.xml和tomcat-users.xml中配置领域来完成。 配置详细信息在这里 - >http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

最适合可以去基于表单的身份验证。 ref:http://www.onjava.com/pub/a/onjava/2001/08/06/webform.html?page=2

+0

我想说基于表单的身份验证对于REST或SOAP API(通常是无状态的)通常是不好的选择。 – 2013-05-12 17:17:52

1

如果您想更多地控制REST Web服务的安全性,那么您可以考虑实现自己的身份验证和RBAC(基于角色的访问控制)。只需通过HTTPS通过头部的每个请求获取用户名和密码,并在您的REST Web服务层上实现RBAC。在请求实际移交给Web服务之前,基本上可以添加Servlet筛选器来执行身份验证和授权。

选择是你的,有显然不同的安全框架可用,但你必须选择什么满足您的要求最好。