Seguinte…
estou usando um ambiente JBOSS 7.1, JEE 6, MAVEN. A estrutura do meu projeto é a seguinte
- projeto
– projeto ear
– projeto ejb
– projeto web1
– projeto web2
Alterei os dados do meu standalone.xml
<security-domain name="ProjectSD" cache-type="default">
<authentication>
<login-module code="Database" flag="required">
<module-option name="dsJndiName" value="ProjectDS"/>
<module-option name="principalsQuery" value="select senha from usuarios where login=?"/>
<module-option name="rolesQuery" value="SELECT g.sigla, 'Roles' FROM roles g JOIN usuarios_r ur ON ur.roles_id = g.id JOIN usuarios u ON u.id = ur.usuario_id WHERE u.login=?"/>
<module-option name="hashAlgorithm" value="MD5"/>
</login-module>
</authentication>
</security-domain>
então no meu web.xml adicionei
<login-config>
<realm-name>ProjectSD</realm-name>
</login-config>
e o método que chamo para efetuar o login é este
public String efetuarLogin() {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
try {
request.login(dto.getLogin(), dto.getSenha());
} catch (ServletException e) {
e.printStackTrace();
titledErrorMessage("","Login ou senha incorretos!");
return rootFoward("index");
}
Usuario usuario = (Usuario) usuarioService.pesquisa(dto.getLogin(), dto.getSenha());
return concluirLogin(usuario);
}
Porém, sempre ocorre este erro:
javax.servlet.ServletException: No authenticator available for programmatic login
Alguém sabe o que poderia ser?