我是 ADFS/SSO 领域的新手,目前正在研究使用 AD FS 为我们基于 Java 的 Web 应用程序和 Windows native 代理实现单点登录 (SSO) 的功能。
以下是我们的要求:
- 如果用户使用他们的域凭据登录到他们的系统,他们应该自动登录(无需用户名/密码)到我们的 Windows 代理。
- 即使他们在公司网络之外,该解决方案也应该有效
我一直在网上阅读,但事情仍然令人困惑。我有以下问题:
- 基于 kerberos 的身份验证是否符合我的要求?
- 它可以与 AD FS 集成吗?这样即使用户不在公司网络中,该解决方案也能正常工作?
- 或者还有其他解决方案吗?我们的产品基于 Java 并使用 Spring 框架。
提前致谢, 普拉文
最佳答案
用户应该自动登录
如果浏览器针对 IWA 正确配置,这将起作用
即使他们在公司网络之外,该解决方案也应该有效
否 - Kerberos 不起作用,因此您必须使用 FBA
它可以与 AD FS 集成吗?这样即使用户不在公司网络中,该解决方案也能正常工作?
是的 - 您还需要安装 ADFS WAP。使用拆分 DNS。内部用户直接访问 ADFS == IWA。外部用户直接访问 WAP = FBA。
我们的产品基于 Java 并使用 Spring 框架
使用 Spring SAML
对于桌面,你有问题。 SAML 依赖于浏览器重定向,因此您需要一个嵌入式浏览器或其他东西。您可以使用 OpenID Connect/OAuth (REST API),但您已使用没有此类支持的 ADFS 2.0 标记了问题。
在 Windows 世界中(WPF、通过 C# 的控制台等),桌面通过 WCF 连接到 ADFS。
关于single-sign-on - 使用 ADFS 实现单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973838/