Problema com módulo de segurança...

Bom dia Pessoal,
Estou tendo problemas ao fazer login no meu sistema, criei a segurança corretamente, funciona direitinho no meu pc porém quando publico e vou tentar fazer login, com o user Administrador ele dá a seguinte mensagem:

ERROR
Desculpe, mas o usuário não está ativo! Contacte o administrador!

O que pode ocasionar esse erro, visto que estou tentando logar justamente com o Administrador?

No banco de dados de seu servidor web existe usuário cadastrado?

Na sua tabela sec_users existe um campo chamado active.

Para conseguir logar, ele deve estar preenchido com Y.

Estou com o mesmo problema, no modo de desenvolvimento esta normal, consigo logar usando o administrador, mais quando publico ele da que o usuario nao esta ativo, ja verifiquei na base e o usuario esta com Y no campo active

De um “truncate” na sua tabela, depois exporte os dados que esta no bando de desenvolvimento e importe no de produção.

Fiz exatamente o que me falou, já tentei de tudo, e da a mesma mensagem “Desculpe mas o usuario nao esta ativo, contate administrador”, nao sei o que fazer, em desenvolvimento funciona normalmente, estou usando o mesmo banco pra desenvolvimento e producao, mais mesmo assim da o erro.

Faz o siguiente em todas as partes onde tem resultados da BD ponha num echo para ver o que tras, ponha em debug tambem.

Entao, eu ja fiz isso.
Ja coloquei os echo, deixei em debug, traz normalmente os valores.
ja conferi os codigos no controle de login pra ver se nao tinha alguns erros. daqui a pouco vou ter que tirar a parte de login pra dar andamento no projeto, isso ja esta me atrasando. abaixo segue o codigo que esta no evento onValidate

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(({pswd}));

$sql = “SELECT
priv_admin,
active,
name,
email
FROM loc_sec_users
WHERE login = $slogin
AND pswd = “.$spswd.””;

sc_lookup(rs, $sql);

if(count({rs}) == 0)
{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
else if({rs[0][1]} == ‘Y’)
{
$usr_login = {login};
$usr_priv_admin = ({rs[0][0]} == ‘Y’) ? TRUE : FALSE;
$usr_name = {rs[0][2]};
$usr_email = {rs[0][3]};
sc_set_global($usr_login);
sc_set_global($usr_priv_admin);
sc_set_global($usr_name);
sc_set_global($usr_email);

$var_id_loc_locacao_veiculo	= 0;
$var_id_locacao = 0;
$var_codigo_locatario = "";
$var_id_locacao_controle = 0;
$var_sim_nao = "N";

sc_set_global($var_id_loc_locacao_veiculo);
sc_set_global($var_id_locacao);
sc_set_global($var_id_locacao_controle);
sc_set_global($var_sim_nao);
sc_set_global($var_codigo_locatario);

}
else
{
sc_error_message({lang_error_not_active});
sc_error_exit();
}

Você poderia me passar exatamente cual usuário y pass que ta usando vou testar no meu projeto pois tenho o mesmo código aqui…

segue o script da tabela, só tem um usuario “admin”


– Servidor: 177.70.107.111
– Versão do servidor: 5.1.73-log - Source distribution
– OS do Servidor: redhat-linux-gnu
– HeidiSQL Versão: 8.3.0.4694


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET NAMES utf8 /;
/
!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /;
/
!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO’ */;

– Copiando estrutura para tabela get4mas_cm1093.loc_sec_users
CREATE TABLE IF NOT EXISTS loc_sec_users (
login varchar(32) NOT NULL,
pswd varchar(32) NOT NULL,
name varchar(64) DEFAULT NULL,
email varchar(64) DEFAULT NULL,
active varchar(1) DEFAULT NULL,
activation_code varchar(32) DEFAULT NULL,
priv_admin varchar(1) DEFAULT NULL,
PRIMARY KEY (login)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

– Copiando dados para a tabela get4mas_cm1093.loc_sec_users: 1 rows
/*!40000 ALTER TABLE loc_sec_users DISABLE KEYS /;
INSERT INTO loc_sec_users (login, pswd, name, email, active, activation_code, priv_admin) VALUES
(‘admin’, ‘cmerp2010cm’, ‘Admin’, ‘claudio@correiomtors.com.br’, ‘Y’, NULL, ‘Y’);
/
!40000 ALTER TABLE loc_sec_users ENABLE KEYS /;
/
!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, ‘’) /;
/
!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) /;
/
!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

agradeco sua atencao.

OK vamos la primero eu creio que o problema e sua senha de usuario tenta isto aqui

1- execute este Update

UPDATE loc_sec_users SET pswd = '182be0c5cdcd5072bb1864cdee4d3d6e' WHERE login = 'admin';

Depois testa de novo acessar o sistema com a senha 33 para o usuario admin

Ups desculpa não vi bem você tiro o MD5 do código… ponha la o md5 por favor y testa minha teoria

$spswd = sc_sql_injection(md5({pswd}));

Nao funcionou, fiz tudo como vc disse.
Ja to caindo em desespero, preciso apresentar o sistema pro cliente e nao consigo fazer o login, acho que vou ter que criar o meu proprio login
Estou querendo jogar a toalha.

Que coisa mais estranha, então da um DROP na tabela de segurança e cria ela de novo do zero! Não é possível que ainda continue.

eu acho que deve ser algo nos programas php.
Nao creio que seja a tabela ou algo no banco, vou tirar os modulos de seguranca.

Infelizmente nao deu certo, nao funciona, nao consigo logar no ambiente de producao, e pra piorar eu tirei o modulo de seguranca pra pode entrar direto o menu, mais agora tenho outro problema, quando acesso a aplicacao no ambiente de producao da o seguinte erro.
“Usuario nao autorizado”, agora ficou pior a situacao.

Como faco pra tirar este mensagem e deixar a aplicacao executar normalmente como se nao tivesse a seguranca.
Preciso de ajuda, vou acabar perdendo o cliente, o prazo ja estourou.

na Parte de edição da aplicação ascese o item Segurança y desabilite a Opção Usar Segurança…

Faz um Favor posta todos os código que você tenha na app de login. si possivel melhor ainda exporta ela pra nos…
Eu não consigo acreditar que algo como isto esteja passando, pois eh bem simples o código .

Willian eu vou tentar uma ultima vez usando seguranca, e nao vou colocar nada nos codigos do controle de login, quero ver se vai funcionar, agora se nao funcionar eu vou ter que ver outros caminhos.
Eu posto aqui se deu certo ou nao.
No controle de login a unica coisa que acrescentei foram as criacoes de variaveis e nada mais, nao fiz nada de diferente, mantive exatamente da maneira que o SC cria.
Eu ja postei o que tem no onValidate, vc pode ver que so tem de diferente a criacao de umas variaveis global.

Senhores eu tirei o modulo de seguranca, pelo menos por enquanto.
Assim ganho tempo pra estudar mais e descobrir o que tem de errado quando uso o modulo de seguranca.
Por enquanto a aplicacao vai ficar liberada pra algumas pessoas apenas até resolver isso ou entao desenvolver o meu proprio modulo de seguranca. Agradeco a todos que responderam e me ajudaram.