2016-06-08 3 views
1

GWT 앱을 Wildly 8.1.0 서버에 배포하고 보안을 위해 폼 인증을 사용하고 있습니다. 우리의 문제는 고객이 사용자 이름이나 비밀번호에 특수 문자 (æøåäëö 등)를 가질 때마다 로그인 할 수 없다는 것입니다.Wildfly 폼 인증이 특수 문자 사용시 실패합니다

나는 같은 문제를 가진 다른 사람을 보았다 :

https://developer.jboss.org/thread/42859?tstart=0

UTF-8 encoded j_security_check username incorrectly decoded as Latin-1 in Tomcat realm

Spring security: Form login special characters

하지만 그들은 등 톰캣/아파치/스프링을 사용하고, 그래서 나는 데 우리 설치에 도움이 될 해결책을 찾는 데 어려움이 있습니다.

사용자가 로그인 할 때 UTF-8 인코딩을 보장 할 수 있도록 Wildly/Undertow에 대한 구성 매개 변수가 있습니까?

우리의 web.xml :

<login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>project-security-policy</realm-name> 
    <form-login-config> 
     <form-login-page>/login.html</form-login-page> 
     <form-error-page>/error.html</form-error-page> 
    </form-login-config> 
</login-config> 

로그인 양식 :

-Dfile.encoding = UTF-8

답변

4

:이 매개 변수와 제이보스 시작

<form name="loginform" method="post" autocomplete="on" action="j_security_check" accept-charset="UTF-8 ISO-8859-1" onsubmit="return validate_login_form();"> 
    <input id="usernameInput" name="j_username" class="form-input" type="text" placeholder="Username" autofocus=""> 
    <input id="passwordInput" name="j_password" class="form-input" type="password" placeholder="Password"> 
    <input id="submitButton" type="submit" value="Login"> 
</form> 
+1

이 솔루션은 Wildfly10에서 나를 위해 일했습니다 – vanduc1102

+0

Jboss에서 동일한 효과 옵션을 알고 있습니까? J 보스에서 찾지 못한다. – vanduc1102

-1

시도 솔루션을 찾았습니다. 독립형 파일에서 언더 토우 (undertow) 하위 시스템의 servlet-container 매개 변수를 편집하고 default-encoding 특성을 추가했습니다. 이제 사용자는 사용자 이름과 암호에 특수 문자를 사용할 수 있습니다.

<subsystem xmlns="urn:jboss:domain:undertow:1.1"> 
    <buffer-cache name="default" /> 
    <server name="default-server"> 
     <http-listener name="default" socket-binding="http" /> 
     <host name="default-host" alias="localhost"> 
      <location name="/" handler="welcome-content" /> 
      <filter-ref name="server-header" /> 
      <filter-ref name="x-powered-by-header" /> 
     </host> 
    </server> 
    <servlet-container name="default" default-encoding="UTF-8"> 
     <jsp-config /> 
    </servlet-container> 
    <handlers> 
     <file name="welcome-content" path="${jboss.home.dir}/welcome-content" /> 
    </handlers> 
    <filters> 
     <response-header name="server-header" header-name="Server" header-value="WildFly/8" /> 
     <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1" /> 
    </filters> 
</subsystem> 
+0

이 시도하지 않았지만, 해결책을 게시 한 :

<servlet-container name="default" default-encoding="UTF-8"> 

전체 서브 시스템은 다음과 같습니다. –