我试图在 weblogic 版本是 12.2.1.3 中与 SSO 搏斗。我们已将它与 OAM/OID 集成在一个由 Oracle Forms & Reports 组成的更大应用程序中。除了 Forms,我们还有各种需要从 Forms 调用的基于 servlet 的自定义应用程序。
这可以。
因为身份验证发生在 Oracle 世界中,通过 OAM 登录屏幕,所以到目前为止,除了从 HTTP 标头获取用户名之外,我还不必在我的 Java 自定义代码中弄乱访问管理。
坏事是有时我们需要我们的 servlet 充当 Forms 和 Reports 之间的中间人。例如,我需要用报告(在服务器上)调用各种东西,转换它们并将它们发送回客户端。我知道这在设计上听起来不正确。但它仍然是遗留代码,我们需要完成这项工作 - 至少需要尝试..
以前我们过去常常在请求之间传递cookies。但是在 11/12g OAM 中,我从这里收集到成功会话验证所需的 cookie (OAMAuthnCookie) 在到达我的 servlet 之前已从请求中删除。这似乎确实发生了,基于我正在做的标头转储,并使用浏览器上的 F12 开发人员工具跟踪调用。
所以..我已经收集到我需要生成一个新的 OAMAuthnCookie,或者可以创建它并将其附加到新的 http 调用的东西.. 我只是希望专家或处理过这个问题的人来验证以下假设是正确的 - 这样做的唯一方法是使用 OAM SDK(有点不直观的恕我直言)。
另一件事——我发现的有关 OAM SDK 的许多示例都涉及登录表单。我不需要做用户认证,也不需要自己和 OAM 交谈来验证资源是否受到保护。我正在处理一个已经过身份验证的请求 - 需要以某种方式从 HttpServletRequest 获取 UserSession 和用户令牌,以便生成新的 OAMAuthnCookie 以便我的下一个请求(使用例如 apache 客户端)成功。我曾经假设这不会很难做到,但我现在有点难过。
感谢您的关注。