问题:
我想实现一组 Webservices,用 SAML 保护。我需要对用户进行身份验证,还需要根据用户角色授权。 我发现了一些与此类似的问题,但没有一个令人满意的答案。
场景:
- 仅使用 Web 服务访问的 Java Webapp;
- SOAP - 地铁;
- 客户使用他们将开发的一些桌面应用程序。
我需要的主要功能:
- 免费软件;
- SAML 2.0;
- LDAP(或类似解决方案)来管理用户信息;
- 消息级安全性 (SOAP)。
问题:
我研究了一些 SAML (SSO) 解决方案(例如 Shibboleth、opemAM、JOSSO...);
- 我可以在不影响任何关键功能的情况下使用其中任何一个吗?
- 或者我是否需要实现自己的方式来处理 SAML token ?
- 怎么做?
谢谢!
以下是我找到的一些结果,和/或答案中的一些提示:
Shibboleth:
http://shibboleth.1660669.n2.nabble.com/Web-Service-End-to-End-Security-td5526934.html
Shiboleth 不做端到端,只是点对点。http://www.predic8.com/shibboleth-web-services-sso-en.htm
在 SP 之前需要一个代理模块进行身份验证。
OpenAM:
- https://wikis.forgerock.org/confluence/display/openam/Web+Services
不提供服务提供商 (SP)。定义基于客户端-服务器的架构,客户端在使用 Web 方法进行身份验证时显式请求 token 。
- https://wikis.forgerock.org/confluence/display/openam/Web+Services
WSO2:
仍在搜索,请贡献!
最佳答案
我是 WSO2 的一名架构师。 WSO2 生成 WSO2 Identity Server,支持您需要的所有功能。您可以在现有 LDAP 用户存储上部署 WSO2 身份服务器,并使其充当 SAML2 IdP。我们在我们的平台即服务 [PASS] 产品中使用 Identity Server 的这一功能 - https://stratoslive.wso2.com用于 SAML2 单点登录。
关于java - 使用 SAML (SSO) 的 Web 服务安全性 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390453/