2014-10-08 63 views
0

我从Jboss AS7/EAP6迁移到Wildfly8,并想在这里询问有关流水线的任何提示,为什么它不处理请求参数,如catalina在EAP6中所做的那样。Undertow(Wildfly8)不处理请求参数

所以,我做从客户机到URL” ./client/boom/index.htm?i=1' 一个电话,涉及到一个错误的servlet,我想要得到的参数i的值:

httpServletRequest.getParameter("i"); 

随着EAP6它返回1,但与Wildfly8它返回null。为什么?

链调用的是以下(假定基本身份验证):

  1. 呼叫与JS把URL” ./client/boom/index.htm?i=1' 。
  2. 因为需要授权,所以流程没有进入UsernamePasswordLoginModule的子类。
  3. 流程进入到错误的servlet与

httpServletRequest.getAttribute( “javax.servlet.error.status_code”)== 401 httpServletRequest.getAttribute( “javax.servlet.error.message”)= =未授权

在这里,在错误servlet中,我需要获取参数i。

附加信息。

误差小服务程序映射这样:

<servlet-mapping> 
    <servlet-name>error</servlet-name> 
    <url-pattern>*.error</url-pattern> 
</servlet-mapping> 
... 
<error-page> 
    <error-code>401</error-code> 
    <location>/Error.error</location> 
</error-page> 

我在的jboss-web.xml中

<jboss-web> 
    <security-domain>boom</security-domain> 
    <disable-audit>true</disable-audit> 
</jboss-web> 

和standalone.xml

宣布所谓的 '潮' 安全域
<subsystem xmlns="urn:jboss:domain:security:1.2"> 
    <security-domains> 
     ... 
     <security-domain name="boom" cache-type="default"> 
      <authentication> 
       <login-module code="com.boom.security.BoomLoginModule" flag="required"/> 
      </authentication> 
     </security-domain> 
    </security-domains> 
</subsystem> 

Auth方法在web.xml中声明为基本。


更新。在错误的servlet属性的列表是EAP6和WF8不同

属性在WF8:

javax.servlet.error.message: Unauthorized 
javax.servlet.error.status_code: 401 
javax.servlet.error.servlet_name: default 
javax.servlet.error.request_uri: /boom-portal/client/boom/index.htm 

属性在EAP6:

javax.servlet.forward.request_uri: /boom-portal/client/boom/index.htm 
javax.servlet.forward.context_path: /boom-portal 
javax.servlet.forward.servlet_path: /client/boom/index.htm 
javax.servlet.forward.path_info: /Error.error 
javax.servlet.forward.query_string: i=1 
javax.servlet.error.message: 
javax.servlet.error.status_code: 401 
javax.servlet.error.servlet_name: default 
javax.servlet.error.request_uri: /boom-portal/client/boom/index.htm 
+0

首先,你在使用什么框架? Spring MVC还是JSF? – 2014-10-08 14:56:20

+0

@BuhakeSindi,没有框架。只是来自js的发布请求。 – 2014-10-08 15:11:08

回答

0

也许这个问题是关系到Forwarded multipart requests may lose submitted form parameters

尝试通过添加此注释来更改servlet的设置@MultipartConfig

或以这种方式

<servlet> 
    <servlet-name>Servlet</servlet-name> 
    <servlet-class>.....</servlet-class> 
    <load-on-startup>0</load-on-startup>   
    <multipart-config/> 
</servlet> 

UPDATE

的问题是身份验证,您收到一个状态代码401 web.xml描述:

401状态码解释

该请求需要用户验证。响应必须包含一个 WWW-Authenticate头域,其中包含一个适用于 请求资源的质询。

检查你是如何进行认证的。

+0

感谢提示。不幸的是,这并没有解决问题。 – 2014-10-10 08:56:38

+0

@QuVad我更新了答案,其中包含更多基于实际的信息 – 2014-10-10 12:16:26