【问题标题】:j_security_check filter is not working in jboss eap 6.4j_security_check 过滤器在 jboss eap 6.4 中不起作用
【发布时间】:2019-11-21 03:17:22
【问题描述】:

我在互联网上搜索了一个解决方案,但找不到任何东西。

我的问题是关于在我的 login.jsp 上使用 j_security_check 来过滤并将其转发到 postloginfilter.java。

为此,我在 web.xml 中编写了这些行

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/login.jsp</form-error-page>
  </form-login-config>
</login-config>

<filter-mapping>
  <filter-name>PostLoginFilter</filter-name>
  <url-pattern>/j_security_check</url-pattern>
</filter-mapping>

但即使当我这样称呼前锋时:

final String requestStr = "/j_security_check?j_username=" + reqUserId 
+ "&j_password="+ reqPassword;

req.getRequestDispatcher(requestStr).forward(req, resp);

它根本没有进入 postloginfilter.java。并向我展示了一个空白页。

我想要的是 postloginfilter 完成这项工作并遵循 web.xml 上列出的链。

我也看不出这个过滤器是否也有效。

  <filter-mapping>
   <filter-name>PostLoginFilter</filter-name>
   <url-pattern>/CreateConnectionAndGetEntityNames.do</url-pattern>
 </filter-mapping>

CreateConnectionAndGetEntityNames 实际上是显示表单的那个。但是当我去那里时,断点在 postloginfilter 中没有生效。

可能是什么原因,我该如何解决这个问题?

提前致谢。

【问题讨论】:

    标签: servlet-filters jboss6.x j-security-check


    【解决方案1】:

    据我所知,FormAuthenticator 是作为 JBossWeb 阀门实现的。因此,预计 JBoss j_security_check 请求不会调用任何应用程序 servlet 过滤器。您可以改为将此类过滤器实现为阀门。

    【讨论】:

    • 您好,您可以在 jboss 上分享有关 Valve/s 的文档或页面吗?谢谢
    • 你可以参考以下关于 Valve api 的 JBossWeb 文档:docs.jboss.org/jbossweb/latest/api/org/apache/catalina/valves/…
    • 不,正如我所见,这与我的问题无关。我仍然需要像其他人在他们的 jboss 环境中那样使用 j_security_check。我看到了这样做的例子。
    猜你喜欢
    • 1970-01-01
    • 2019-02-17
    • 2016-09-10
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    相关资源
    最近更新 更多