Web services web服务的安全性(REST和SOAP)

Web services web服务的安全性(REST和SOAP),web-services,security,rest,soap,spring-security,Web Services,Security,Rest,Soap,Spring Security,我的第一篇文章在这里!我想得到一些关于web服务安全性的社区帮助 我正在研究web服务安全方面的最新技术。我需要解决识别、访问控制、传输相关问题(如数据完整性、保护、不可否认性)的解决方案 所以我找到了一些现实世界的解决方案来满足这些需求,我找到了基于SOAP的web服务的解决方案: 标识:WS-Security框架 身份验证:可扩展访问控制标记语言(XACML) 授权书 可扩展权限标记语言(XrML) XML密钥管理(XKMS) 安全断言标记语言(SAML) .NET Passport

我的第一篇文章在这里!我想得到一些关于web服务安全性的社区帮助

我正在研究web服务安全方面的最新技术。我需要解决识别、访问控制、传输相关问题(如数据完整性、保护、不可否认性)的解决方案

所以我找到了一些现实世界的解决方案来满足这些需求,我找到了基于SOAP的web服务的解决方案:

  • 标识:WS-Security框架
  • 身份验证:可扩展访问控制标记语言(XACML)
  • 授权书
    • 可扩展权限标记语言(XrML)
    • XML密钥管理(XKMS)
    • 安全断言标记语言(SAML)
    • .NET Passport
  • 机密的
    • WS-Security框架
    • XML加密
    • 安全套接字层(SSL)
    • WSS
几乎所有这些都可以使用spring安全性实现

另一方面,RESTful web服务的安全性较差。基于web SSL/TLS是一个很好的加密解决方案,但也存在其他安全协议,如:

  • OAuth:用于facebook、twitter,无需代币交换
  • OpenID:由google使用
  • 中科院
  • LDAP、Kerberos
  • 布劳里德
另一个解决方案可能是将安全性作为服务集成到企业总线中(安全性作为服务)

所以我的问题是:还有其他的解决方案我应该知道吗?还有其他框架吗


非常感谢

只需补充一点,关于restful Web服务,开发人员可以使用TomcatServlet容器提供的安全性。这可以通过在server.xml和tomcat-users.xml中配置realm来实现。 此处的配置详细信息->

而且最合适的是基于表单的身份验证。
ref:

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


您可以选择,显然有不同的安全框架可用,但您必须选择最符合您需求的安全框架。

前面的文章应该可以帮助您,我想说,对于REST或SOAP API(通常是无状态的),基于表单的身份验证通常是一个糟糕的选择。