HTTP AUTH, Sessions e include()
Amigos,
Estou trabalhando em um projeto que, depois de realizados todos os testes, funciona perfeitamente. Porém tenho que implementar um sistema de autenticação e gerenciamento de sessão e para isso utilizo autenticação via HTTP. O problema é que em um determinado script eu chamava um outro utilizando a função include(), que, a partir da utilização do sistema de autenticação, não funciona mais. Eu tenho o seguinte:
script1.php:
<?require_once("sessao.php");conectaBanco();?><div id="conteudo"><? include("[http://localhost/script2.php?var=teste");](http://localhost/script2.php?var=teste) ?></div>
script2.php:
<?require_once("sessao.php");conectaBanco();echo $_REQUEST['var'];?>
sessao.php:
<?function auth() { header("WWW-Authenticate: Basic realm=\"Acesso Restrito\""); header("HTTP/1.0 401 Unauthorized"); echo "AUTENTICAÇÃO REQUERIDA!\n"; exit;}if (!isset($_SERVER['PHP_AUTH_USER'])) { auth();} elseif (pg_connect("host=localhost port=5432 dbname=teste user=".$_SERVER['PHP_AUTH_USER']." password=".$_SERVER['PHP_AUTH_PW'])) { if ($qUsuario = pg_query("SELECT * FROM pg_user WHERE usename='".$PHP_AUTH_USER."'")) { $fUsuario = pg_fetch_array($qUsuario); $_SESSION['usesysid'] = $fUsuario['usesysid']; $_SESSION['usuario'] = $_SERVER['PHP_AUTH_USER']; $_SESSION['senha'] = $_SERVER['PHP_AUTH_PW']; }} else { auth();}?>
Função conectaBanco():
function conectaBanco() { $GLOBALS['con'] = pg_connect("host=localhost port=5432 dbname=teste dbname=".$_bdNome." user=".$_SESSION['usuario']." password=".$_SESSION['senha']);}
Bem, acessando o script1, caso o usuário não esteja autenticado será requerida a autenticação. Depois, caso esteja autenticado, o conteudo de script2 deveria ser mostrado, mas não o é. Caso eu retire a rotina de autentição, o script funciona normalmente. Ou, ainda, caso eu remova as duas primeiras linhas do script2 funciona. Mas acontece que, desta forma, eu não poderia interagir com o banco de dados.
Alguém sabe como resolver este problema?
[]s
Daniel
Discussão (1)
Carregando comentários...