アプリケーションを Glassfish から JBOSS AS 7 に移植しました。JDBCRealm で JAAS フォーム ベースの認証を使用します。問題は、フォームの送信時に AS 7 が ISO-8955-1 エンコーディングを使用することです。他のすべてのフォームでこの問題が発生しましたが、UTF-8 に変換するサーブレット フィルターでこれを解決しました。
フォーム ベースの認証では、間にフィルターを配置できないため、認証は失敗します。既知の回避策はありますか?
username used: user%&;/()=?`\*^ÄÅÖ_:;: -+}][{€$£@8ks6fje739ajf6 ですが、ご覧のとおり、正しくない文字が含まれています。
17:16:59,601 DEBUG [org.apache.tomcat.util.http.Cookies] (http--127.0.0.1-9443-5) Cookies: Parsing b[]: JSESSIONID=FbiZG09BOiprQfUMTmdirSrq.undefined
17:16:59,603 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] (http--127.0.0.1-9443-5) Security checking request POST /j_security_check
17:16:59,604 DEBUG [org.apache.tomcat.util.http.Parameters] (http--127.0.0.1-9443-5) Set encoding to ISO-8859-1
17:16:59,604 DEBUG [org.apache.tomcat.util.http.Parameters] (http--127.0.0.1-9443-5) Set query string encoding to ISO-8859-1
17:16:59,604 DEBUG [org.apache.tomcat.util.http.Parameters] (http--127.0.0.1-9443-5) Start processing with input [j_username=user%25%26%2F%28%29%3D%3F%60%5C%5C*%5E%C3%84%C3%85%C3%96_%3A%3B%3A+-%2B%5C%7D%5D%5B%7B%E2%82%AC%24%C2%A3%408ks6fje739ajf6&j_password=admin]
17:16:59,605 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] (http--127.0.0.1-9443-5) Authenticating username 'user%&/()=?`\\*^���_:;: -+\}][{�$£@8ks6fje739ajf6'