phpMyAdmin 的单点登录
Posted
技术标签:
【中文标题】phpMyAdmin 的单点登录【英文标题】:Single signon for phpMyAdmin 【发布时间】:2011-08-07 00:11:30 【问题描述】:我无法让它工作。我安装了 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】:您没有使用相同的登录会话名称。使用
session_name('PHPSESSID');
在 session_start 之前。
【讨论】:
以上是关于phpMyAdmin 的单点登录的主要内容,如果未能解决你的问题,请参考以下文章