Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sapetti

[Resolvido] Autenticação de Multi-Usuarios

Recommended Posts

Pessoal, boa tarde, estou criando um pequeno sistema de autenticação para multi-usuarios com níveis de acesso., o problema é que não estou conseguindo fazer uma instrução "IF" funcionar direito, ou ele pega o "$nivel_necessario" ou o "$nivel_necessario2", preciso que pegue as 2 variaveis, como eu posso montar este quebra cabeça, obrigado!

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 1; //nivel de usuarios permitidos
$nivel_necessario2 = 3; //outro nivel de usuarios permitidos
// 1 = administrador
// 2 = importação
// 3 = fiscal
// ...

// Verifica se não há a variável da sessão que identifica o usuário
if (($_SESSION['UsuarioNivel'] != $nivel_necessario))
 {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: login.php"); exit;
}

?>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, boa tarde, estou criando um pequeno sistema de autenticação para multi-usuarios com níveis de acesso., o problema é que não estou conseguindo fazer uma instrução "IF" funcionar direito, ou ele pega o "$nivel_necessario" ou o "$nivel_necessario2", preciso que pegue as 2 variaveis, como eu posso montar este quebra cabeça, obrigado!

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 1; //nivel de usuarios permitidos
$nivel_necessario2 = 3; //outro nivel de usuarios permitidos
// 1 = administrador
// 2 = importação
// 3 = fiscal
// ...

// Verifica se não há a variável da sessão que identifica o usuário
if (($_SESSION['UsuarioNivel'] != $nivel_necessario))
 {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: login.php"); exit;
}

?>


Veja a solução...

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 3; //niveis de usuarios permitidos
$nivel_necessario2 = 1; //niveis administrador
// 1 = administrador
// 2 = importação
// 3 = fiscal

// Verifica se não há a variável da sessão que identifica o usuário
//if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] != $nivel_necessario))

if (($_SESSION['UsuarioNivel'] != $nivel_necessario) and ($_SESSION['UsuarioNivel'] != $nivel_necessario2) )
 {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: login.php"); exit;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se acabar ficando com muitos níveis para validar pode ser assim, é mais fácil de administrar tb! :D

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = array('1','3');
// 1 = administrador
// 2 = importação
// 3 = fiscal

// Verifica se não há a variável da sessão que identifica o usuário

if (!in_array($_SESSION['UsuarioNivel'], $nivel_necessario))
 {
        // Destrói a sessão por segurança
        session_destroy();
        // Redireciona o visitante de volta pro login
        header("Location: login.php"); exit;
}

?>

Flw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu tinha tentado usar ARRAY mas não sei o porque não funciona....

Muito estranho, mais a sua logica é perfeita.

Obrigado.

 

 

 

Se acabar ficando com muitos níveis para validar pode ser assim, é mais fácil de administrar tb! :D

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = array('1','3');
// 1 = administrador
// 2 = importação
// 3 = fiscal

// Verifica se não há a variável da sessão que identifica o usuário

if (!in_array($_SESSION['UsuarioNivel'], $nivel_necessario))
 {
        // Destrói a sessão por segurança
        session_destroy();
        // Redireciona o visitante de volta pro login
        header("Location: login.php"); exit;
}

?>

Flw!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.