O evento beforeLogin é um evento global do Fluig e é executado após as validações de senha e de bloqueio do usuário e antes de concluir um login de usuário. Ele pode ser usado para monitoramentos e até mesmo bloqueando login de um usuário em algumas situações.
O uso indevido do evento beforeLogin pode ocasionar inconsistência no login da plataforma, fazendo com que o usuário não consiga mais logar. Pode ser bloqueado inclusive o administrador, impossibilitando até mesmo a atualização e correção do próprio beforeLogin, sendo necessário uma intervenção diretamente no banco de dados. |
function beforeLogin(login, origin, requestInfoVO) {} |
login
Uma string com o login do usuário que está tentando fazer o login
origin
Uma string contendo o valor do atributo "com.totvs.technology.security.protocol" da requisição. O valor padrão para tentativas de login via web é null.
requestInfoVO
Um objeto do tipo RequestInfoVO contendo os dados da requisição de login.
function beforeLogin(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
// Caso o usuário esteja bloqueado pelo serviço customizado lança uma exceção informando
// que o usuário está desativado no serviço customizado e cancela o login no Fluig
if (service.isBlockedUser(login)) {
throw "O usuário " + login + " está desativado no serviço customizado";
}
} |
function beforeLogin(login, origin, requestInfoVO) {
if (requestInfoVO) { // previne erros em versões onde esse parâmetro não existia
if (!requestInfoVO.ip.startsWith("172.")) {
throw "Você deve estar conectado na VPN para realizar o acesso ao Fluig";
}
}
} |
O parâmetro requestInfoVO foi introduzido na versão 2.0.1