来自外部应用程序的ADF项目调用问题

时间:2014-04-26 20:30:05

标签: java oracle-adf backing-beans facescontext

我使用名为 ADF1 jdeveloper 进行了 ADF 项目,并通过欢迎页 login.jspx <进行自我身份验证/ strong>及其支持bean backing_login.java

现在我需要使用另一个名为 AUTH1 的应用程序进行身份验证。

用户将执行以下操作:

  1. 用户将请求登录 ADF1
  2. 用户输入用户名和密码
  3. 表单发布到 AUTH1 ,并在使用返回URL成功验证后重定向到ADF1。但它不能是 login.jspx ,因为它会再次显示登录页面。
  4. 现在这个返回网址必须是什么?

    1. 一个豆子(我不知道该怎么做,我需要建议)
    2. ADF1
    3. 中的另一个普通servlet

      我做了第二个选项:但我似乎无法访问FacesContext,因为它在servlet中为null:

      FacesContext ctx = FacesContext.getCurrentInstance();
      ctx.getApplication().getNavigationHandler().handleNavigation(ctx, null, "accessDirectPageOnline");
      

      我怎样才能做到这一点?

      编辑:

      我创建了另一个页面 login-return.jspx 并创建了一个绑定到它的backing_bean,现在的问题是页面的第一次加载,无论我在哪一个重定向成功运行它的beforephase方法,它总是重定向到 login.jspx 我不知道为什么,但在第二次尝试重定向时它成功了!

      但我从第一次起就需要它。

      我认为问题来自 ADF安全程序,该程序会强制用户使用必须的登录页面,我不知道如何绕过它。 。 。

2 个答案:

答案 0 :(得分:0)

如果您使用Task Flow,则可以通过指定正确的Bounded Task Flow来访问任何URL,然后将为default activity调用Bounded Task Flow

点击此链接,了解表格Bounded Task Flow URL的方式: URL Task Flow Call with HTTP POST Method

另外,请查看此主题以获取更多讨论:Access Bounded Flow Directly From URL

答案 1 :(得分:0)

我通过创建一个从流程的所有星点出来的新视图来管理这个 我为它创建了一个支持bean并计算了我在那里的操作。