有关使用OpenAM设计身份验证解决方案的大多数文档都建议使用Web Server Policy Agent或Java EE Policy Agent。
我正在寻找替代方案,我不需要使用策略代理。这有助于我避免维护,例如与将安装在服务器场中数百个Web服务器中的策略代理相关的升级等。
一个明显的解决方案是实现“会话评估”的类似功能,作为我的应用程序代码的一部分。
还有其他可用的替代方案,OpenAM可以在无代理模式下使用。
PS:按会话评估我的意思是验证会话是否在进行中并因此允许访问受保护资源或通过重定向到OpenAM来启动身份验证过程的功能。
谢谢和问候
答案 0 :(得分:0)
您有效地建议编写自己的代理,并将其嵌入到您的项目中。这没有什么不妥,只要知道你在做什么。
我首先要拆开其中一个OpenAM agents并决定你可以利用多少。如果你不能利用其中的内容,请查看REST API,其中有一些不错的例子。
答案 1 :(得分:0)
您可以使用JWT令牌(将OpenAM配置为OpenID Connect提供程序)。您的应用程序需要使用库来内省JWT令牌
您可以使用类似Spring Security SAML过滤器的内容。
以上两者都不提供策略执行 - 它们只是AuthN。如果您的应用需要使用此方法实施策略,则必须调用REST API。
您可以在较小的Web层(Apache或类似OpenIG)上安装代理,并将这些请求反向代理到您的应用程序。维护较小的Web层将使升级更容易。