2011-07-20 7 views
0

私のJavaアプリケーションをJBoss 5.1からJBoss 7.0に移行しようとしています。私はアプリケーションを配備することができますが、ログイン(フォームベースの認証)したい場合は、408(タイムアウト)のエラーページが表示されます。 のserver.logからこのエキスをチェックアウト:セキュリティのものが実際にlogin-のように同じであるJBossでのフォームベースの認証が成功しましたが、408のエラーページがスローされます

<subsystem xmlns="urn:jboss:domain:security:1.0"> 
     <security-domains> 
      <security-domain name="SSIS2-domain"> 
       <authentication> 
        <login-module code="Database" flag="required"> 
         <module-option name="dsJndiName" value="java:/SSIS2DSDev"/> 
         <module-option name="principalsQuery" value="SELECT password FROM users WHERE username=? AND active=1"/> 
         <module-option name="rolesQuery" value="SELECT USERROLE.rolename, 'Roles' FROM USERS INNER JOIN (USERROLE INNER JOIN MAPUSERUSERROLE ON USERROLE.roleid = MAPUSERUSERROLE.roleid) ON USERS.userid = MAPUSERUSERROLE.userid where USERS.username=?"/> 
         <module-option name="hashAlgorithm" value="MD5"/> 
         <module-option name="hashEncoding" value="base64"/> 
        </login-module> 
       </authentication> 
      </security-domain> 
     </security-domains> 
    </subsystem> 

10:06:52,997 TRACE [org.jboss.security.authentication.JBossCachedAuthenticationManager] (http--127.0.0.1-8080-5) End isValid, true 
10:06:52,997 TRACE [org.jboss.as.web.security.JBossWebRealm] (http--127.0.0.1-8080-5) User: tlubrpa1 is authenticated 
10:06:52,997 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] (http--127.0.0.1-8080-5) Authentication of 'tlubrpa1' was successful 
10:06:52,998 DEBUG [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SSIS2_1]] (http--127.0.0.1-8080-5) User took so long to log on the session expired 
10:06:52,998 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] (http--127.0.0.1-8080-5) Failed authenticate() test ??/SSIS2_1/View/Mainpage/j_security_check 
10:06:53,511 DEBUG [org.apache.catalina.session.ManagerBase] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Start expire sessions StandardManager at 1311062813511 sessioncount 0 
10:06:53,512 DEBUG [org.apache.catalina.session.ManagerBase] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) End expire sessions StandardManager processingTime 1 expired sessions: 0 
10:06:54,181 TRACE [org.jboss.as.deployment] (DeploymentScanner-threads - 1) Scanning directory C:\java\jboss-as-web-7.0.0.Final\standalone\deployments for deployment content changes 

これはstandalone.xmlからの私の対応抽出物でありますJBoss 5.1のconfig.xmlを参照してください。上記のように、ユーザーを認証します。

アイデアはありますか?

答えて

0

実際にはバグであることがわかりました。回避策があります。右の要素の後standalone.xmlにこれを追加:あなたは直接login.jsfページに行くとき

<system-properties> 
    <property name="org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR" value="false"/> 
</system-properties> 
+0

ちょっと、私はstandalone.xmlに追加する必要がありますか? –

0

この408タイムアウトエラーが発生しました。このページは、セキュリティ保護された領域のインターセプタとして理解する必要があります。

下記のweb.xmlの例では、/ secure/homeページを保護したいとします。ログインページにリダイレクトされ、408エラーは表示されません。

<security-constraint> 
<display-name>global access</display-name> 
<web-resource-collection> 
<web-resource-name>everyone</web-resource-name> 
<url-pattern>/secure/*</url-pattern> 
... 
</security-constraint> 
...