Hi,

Solved thanks to : http://stackoverflow.com/a/19409520

Adding :

<filter>
    <filter-name>Character Encoding Filter</filter-name>

<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>Character Encoding Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


before any filters of CAS web.xml is the solution.

Not CAS related, but that may help someone else.


Raphaël




Le 27/03/2015 14:30, Raphaël Tournoy a écrit :
Hi,

Sign in with a username containing non ASCII chars always fails with CAS
4.0.1 whereas it was working well with our previous CAS install (3.5.0).

For instance if I submit a form with a login like : ééé it does not
work, and in the cas.log I see a failed attempt :

SearchModeSearchDatabaseAuthenticationHandler failed authenticating ééÃ


And then ééà is displayed as username on my form.

That looks like utf-8 displayed with ISO-8859-1.

I 'm using tomcat6 with an apache httpd proxy

I have AddDefaultCharset UTF-8 in my httpd.conf


My tomcat connector is defined like this :
  <Connector port="8080" protocol="HTTP/1.1"
                  address="localhost"
                  proxyPort="443"
                  secure="true"
                  scheme="https"
                  SSLEnabled="false"
                  redirectPort="8443"
                  URIEncoding="UTF-8" />


My JVM options :
JAVA_OPTS="-Duser.country=FR -Duser.language=fr -Xms4096M -Xmx4096M
-Dfile.encoding=UTF8"


I tried adding accept-charset="UTF-8" on the cas login form.


The credential backend is an utf-8 mysql db and tickets are stored in
ehcache.


It used to work with cas 3.5.0 and tomcat6.

Does anybody have a an idea of what could possibly break my chars
encoding between the login form and CAS ?


Thank you for any idea,


Attachment: smime.p7s
Description: Signature cryptographique S/MIME

Reply via email to