Как я могу отладить аутентификацию PEAR? - PullRequest
2 голосов
/ 09 июня 2010

У меня на сайте есть каталог, в котором я реализовал аутентификацию PEAR для запуска моей аутентификации.Он работает отлично.

Однако я попытался сделать копию своего сайта (он будет переведен на другой язык), и на этом новом сайте процесс аутентификации, похоже, неработать правильно.

Я могу правильно войти в систему, но каждый раз, когда я пытаюсь перейти на другую страницу в том же каталоге и использовать авторизацию для авторизации, это вынуждает меня войти снова.

Вот моя логика:

$auth_options = array(
        'dsn' => mysql://user:password@server/db',
        'table' => 'users',
        'usernamecol' => 'username',
        'passwordcol' => 'password',
        'db_fields' => '*'
    );

$auth = new Auth("DB", $auth_options, "login_function");
$auth->setFailedLoginCallback('bad_login'); 
$auth->start();

if (!$auth->checkAuth())
{
  die('cannot succeed in checkAuth')
  exit;
} else {
  include("nocache.php");
}

Это часть файла, включенного в каждую php-страницу I, которую я хочу требовать аутентификации.Я могу правильно войти в систему один раз, но всякий раз, когда я пытаюсь перейти на другую страницу, требующую аутентификации, я снова вхожу в нее (и вижу сообщение «не удалось» в нижней части страницы).

Опять же, это решение отлично работает на моем исходном сайте, я скопировал все файлы и изменил только сервер / пароль БД - все равно не работает.И я использую один и тот же веб-хост для обоих.

Что я здесь не так делаю?Или как я могу отладить это дальше?

1 Ответ

0 голосов
/ 13 июня 2010

Хорошо - похоже, у моего веб-хоста есть проблемы с сессиями на PHP (по крайней мере, для этого сайта).Следующее находится в файле .htaccess:

php_value session.gc_probability 1
php_value session.gc_divisor 100
php_value session.gc_maxlifetime 3600
php_value session.save_path /path/to/sessions/folder

Надеюсь, это поможет кому-то еще!

...