单点登录为phpMyAdmin

时间:2011-04-16 18:11:25

标签: php mysql session phpmyadmin single-sign-on

我无法让它发挥作用。我安装了phpMyAdmin,我可以毫无问题地登录。但我不能单点登录工作。 phpMyAdmin位于http://mydomain.com/sql/。我的登录脚本位于http://mydomain.com/sql/scripts/signon.php。这是phpMyAdmin配置的内容:

<?php
/*
 * Generated configuration file
 * Generated by: phpMyAdmin 3.3.10 setup script by Piotr Przybylski <piotrprz@gmail.com>
 * Date: Fri, 08 Apr 2011 00:43:27 +0200
 */

/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['auth_type']     = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'PHPSESSID';
$cfg['Servers'][$i]['SignonURL']     = 'http://mydomain.com/sql/scripts/signon.php';
$cfg['Servers'][$i]['LogoutURL']     = 'http://mydomain.com/sql/scripts/logout.php';
/* End of servers configuration */

$cfg['blowfish_secret'] = '<my secret ;)>';
$cfg['DefaultLang'] = 'nl-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>

这是我的签名脚本:

session_start();

$_SESSION['PMA_single_signon_user'] = 'root';
$_SESSION['PMA_single_signon_password'] = '<my root password :)>';
    if (!isset($_SESSION['PMA_single_signon_token'])) {
        $_SESSION['PMA_single_signon_token'] = md5(uniqid(rand(), true));
    }
$id = session_id();

header('Location: http://mydomain.com/sql/index.php?server=1');

我做错了什么:(?当我执行登录脚本时,我获得了PMA的正常登录屏幕。

1 个答案:

答案 0 :(得分:0)

您没有使用相同的登录会话名称。使用

session_name('PHPSESSID');
在session_start之前