두 개의 서로 다른 세션에서 두 명의 다른 사용자와 로그인하려고 시도 할 때마다 계속이 오류가 발생합니다.프로그래밍 방식의 로그인에 사용할 수있는 인증 코드가 없습니다.
13 : 27 : 28,444 ERROR [com.commit.steam.rest.RestLoginService] 로그인에 (HTTP-로컬 호스트-127.0.0.1-8080-2) 오류 : javax.servlet.ServletException : 프로그램 로그인에 사용 가능한 인증 at org.apache.catalina.connector.Request.login (Request.java:3254) [jbossweb-7.0.13.Final.jar :] at org.apache.catalina.connector.RequestFacade.login (RequestFacade.java : 1082) [jbossweb-7.0.13.Final.jar :] at com.commit.steam.rest.RestLoginService.login (RestLoginService.java:128) [steam-rest-api-0.1.6-SNAPSHOT.jar :]
standalone.xml에서 :
<security-domain name="steam" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
<module-option name="dsJndiName" value="java:jboss/datasources/STEAMDS"/>
<module-option name="principalsQuery" value="select U.PASSWORD from USERS U where U.EMAIL=?"/>
<module-option name="rolesQuery" value="select R.NAME, 'Roles' from USERS U join USER_ROLES UR on U.ID = UR.USER_ID join ROLES R on UR.ROLE_ID = R.ID where U.EMAIL=?"/>
<module-option name="hashAlgorithm" value="SHA-256"/>
<module-option name="hashEncoding" value="base64"/>
</login-module>
</authentication>
</security-domain>
,
보스-의 web.xml :
<?xml version="1.0"?>
<jboss-web>
<security-domain>steam</security-domain>
</jboss-web>
제가 제 요청 (HttpServletRequest.context.authenticator)를 NonLoginAuthenticator을 가지고 있음을 알 수 있지만 디버깅 7.1.1.Final
으로 보스를-사용 두 번째 세션의 로그인에는 인증자가 연결되어 있지 않습니다 (예 : HttpServletRequest.context.authenticator가 null의 경우) 첫 번째 세션의 다음 요청마다 요청시 동일한 인증자가 사용됩니다 (한 사용자의 비즈니스 플로우를 테스트 할 때).
HttpServletRequest로는 클래스 레벨
@Context
private HttpServletRequest request;
protected HttpServletRequest request() {
return this.request;
}
에 주입 (I 메소드 레벨 주사 이동하려고하고 도움이되지 않았 음). 내 휴식 클래스는 @Stateless bean (주사를 허용)으로 주석 처리됩니다.
나는 다른 세션을 보장하기 위해 Chrome과 FireFox를 사용하여 세션을 전환했지만 아무 것도 변경하지 않았습니다.
누구든지이 문제를 찾는 데 필요한 아이디어 나 단서가 있습니까?
덕분에 많은 아비