Package systextil.auth
Class LoginModule
java.lang.Object
systextil.auth.LoginModule
- All Implemented Interfaces:
LoginModule
- Direct Known Subclasses:
RepLoginModule
Módulo autenticador de usuário do Systêxtil que pode ser usado num
container web, por exemplo.
- Author:
- sergio
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classMensagem amigável de falha na validação.static classMensagem amigável de falha na validação. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanabort()static LoginbuildLogin(Connection conn, int empresa, String usuario, String idioma) Constrói um login para que seja usado no servlet de menus.booleancommit()static StringgetLoginUser(AppConnection conn, int codigo_empresa, String usuario) Retorna o nome de usuário a ser usado para autenticação (como informar senha para autorização).voidinitialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) booleanlogin()booleanlogout()static voidprazoExpiraSenha(AppConnection conn, int codigoEmpresa, String usuario) static LoginValida as credenciais do usuário no Systêxtil.static Loginvalidate(AppConnection conn, int empresa, String loginUser, String senha) Valida as credenciais do usuário no Systêxtil.protected LoginvalidateLogin(String usuario, String senha) Subclasses podem sobrescrever este método para implementar validações diferentes.static voidvalidaTempoSenha(AppConnection conn, int codigoEmpresa, String usuario)
-
Constructor Details
-
LoginModule
public LoginModule()
-
-
Method Details
-
initialize
public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) - Specified by:
initializein interfaceLoginModule
-
validate
Valida as credenciais do usuário no Systêxtil.Usar este método para obter uma conexão diretamente do serviço JNDI.
- Parameters:
empresa- o código da empresausuario- o nome do usuáriosenha- a senha do usuário, podendo ser nula ou vazia- Returns:
- o usuário encontrado, se tiver sido autenticado com sucesso
- Throws:
LoginException- a mensagem informando o problema ocorrido, inclusive se alguma das credenciais estava nula ou vazia.
-
validate
public static Login validate(AppConnection conn, int empresa, String loginUser, String senha) throws LoginException Valida as credenciais do usuário no Systêxtil.Usar este método em formulários NXJ, recebendo uma conexão do contexto atual.
- Parameters:
conn- a conexão principal ao banco de dadosempresa- o código da empresaloginUser- o nome do usuário para autenticaçãosenha- a senha do usuário, podendo ser nula ou vazia- Returns:
- o usuário do ERP encontrado, se tiver sido autenticado com sucesso
- Throws:
LoginException- a mensagem informando o problema ocorrido, inclusive se alguma das credenciais estava nula ou vazia.
-
getLoginUser
Retorna o nome de usuário a ser usado para autenticação (como informar senha para autorização).Por causa da autenticação com Active Directory, o usuário para autenticação não é necessariamente o mesmo usuário do ERP.
Este nome de usuário fica previamente preenchido nos campos onde essa autenticação é exigida.
Este método deve ser invocado de preferência pela MDI, pois destina-se somente a usuários que já foram autenticados no login.
- Parameters:
conn- a conexão com o banco de dadoscodigo_empresa- o código da empresausuario- o usuário do ERP- Returns:
- o nome de usuário para autenticação. Se existir usuário específico para Active Directory, será retornado; senão, será o próprio usuário do ERP.
-
buildLogin
public static Login buildLogin(Connection conn, int empresa, String usuario, String idioma) throws LoginModule.LoginFailed Constrói um login para que seja usado no servlet de menus.- Parameters:
conn- a conexão principal ao banco de dadosempresa- o código da empresausuario- o nome do usuárioidioma- o idioma do usuário- Returns:
- o login construído para esse usuário
- Throws:
LoginModule.LoginFailed- se o usuário não tiver permissão para acesso ao ERP Web.
-
validateLogin
Subclasses podem sobrescrever este método para implementar validações diferentes.- Parameters:
usuario- o código da empresa e o nome do usuário, podendo ser nulo ou vazio; para esta classe, o código da empresa é separado do usuário por um caractere não-alfanumérico (\W).senha- a senha- Returns:
- o login encontrado e validado
- Throws:
LoginException- se a validação falhar
-
login
- Specified by:
loginin interfaceLoginModule- Throws:
LoginException
-
commit
public boolean commit()- Specified by:
commitin interfaceLoginModule
-
abort
public boolean abort()- Specified by:
abortin interfaceLoginModule
-
logout
public boolean logout()- Specified by:
logoutin interfaceLoginModule
-
validaTempoSenha
-
prazoExpiraSenha
public static void prazoExpiraSenha(AppConnection conn, int codigoEmpresa, String usuario) throws TagException - Throws:
TagException
-