我一直在摸不着头脑。浏览了大量文档,但一切似乎都很困惑。如果这似乎是一个重复的问题,请原谅,但请相信我,我发现的内容越多,我就越困惑。
下面是我的项目的配置以及我需要实现的目标:
该项目是一个基于 Web 的应用程序,使用 Spring 框架和 Java 8 开发,托管在 S3(Linux 服务器)上。使用的 HTTP 服务器是 Apache。 JBoss 用作应用程序服务器,使用的确切版本是 wildfly-8.2.0.Final。
目前,用户输入他的凭据,这些凭据使用 LDAP 针对 Microsoft Active Directory 进行验证并被允许进入。现在的要求是当用户在他的 Intranet 环境中使用他的 AD 凭据登录机器时,他试图打开应用程序,他应该直接登录,而不是再次提示输入凭据。如果他在他的Intranet网络之外,则应遵循现有的登录方法。
在研究过程中,我发现以下我认为可能有用但无法得出结论的事情。
Kerberos 和 Shibolleth:我浏览了以下两个引用资料,它们在某种程度上符合我的要求,但不确定我是否在寻找正确的东西。 <强> http://richardjohnson798.blogspot.in/2011/10/single-sign-on.html http://gfivo.ncl.ac.uk/documents/UsingKerberosticketsfortrueSingleSignOn.pdf
我的困惑围绕着下面的事情。 Shibolleth 是正确的选择吗?如果是,Shibboleth 的确切作用是什么? 需要在 linux 服务器上设置哪些内容(例如 Kerberos 实现),以及客户端的 AD 环境需要进行哪些更改? 是否可以在 Wildfly 服务器上实现? (因为所有引用资料都使用 Tomcat 实现)。 我应该关注哪些安全方面。
非常感谢您的帮助。谢谢。
最佳答案
由于您使用的是 S3,我假设您使用的是 AWS。
转到 IAM 并将 Active Directory 添加为 SAML 提供商 https://aws.amazon.com/blogs/mobile/announcing-saml-support-for-amazon-cognito/
然后在您托管在 S3 上的前端代码中通过 JavaScript SDK 使用 AWS Cognito 联合身份池。 http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html
关于amazon-s3 - S3 上托管的 Web 应用程序的 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721002/