From ac9d23f535d7af706eb668473a6488e702349658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 21 Jan 2010 15:22:34 +0000 Subject: [PATCH] rfe #2936156 [auth] Signon authentication forwards error message through session data. --- ChangeLog | 1 + libraries/auth/signon.auth.lib.php | 18 ++++++++++++------ scripts/signon.php | 5 +++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b7ea57c9..f4b01a872 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,6 +24,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA + rfe #1435032 [interface] Move SSL status to the end, it is usually empty. + rfe #1340812 [interface] Show numbers of columns in table structure. + rfe #1186511 [inrerface] Add link to reload navigation frame. ++ rfe #2936156 [auth] Signon authentication forwards error message through session data. 3.3.0.0 (not yet released) + rfe #2308632 [edit] Use hex for (var)binary fields, diff --git a/libraries/auth/signon.auth.lib.php b/libraries/auth/signon.auth.lib.php index c4b25a46f..0884a6c7b 100644 --- a/libraries/auth/signon.auth.lib.php +++ b/libraries/auth/signon.auth.lib.php @@ -173,14 +173,20 @@ function PMA_auth_set_user() */ function PMA_auth_fails() { - $error = PMA_DBI_getError(); - if ($error && $GLOBALS['errno'] != 1045) { - PMA_fatalError($error); + if (! empty($GLOBALS['login_without_password_is_forbidden'])) { + $_SESSION['PMA_single_signon_error_message'] = $GLOBALS['strLoginWithoutPassword']; + } elseif (! empty($GLOBALS['allowDeny_forbidden'])) { + $_SESSION['PMA_single_signon_error_message'] = $GLOBALS['strAccessDenied']; + } elseif (! empty($GLOBALS['no_activity'])) { + $_SESSION['PMA_single_signon_error_message'] = sprintf($GLOBALS['strNoActivity'], $GLOBALS['cfg']['LoginCookieValidity']); + } elseif (PMA_DBI_getError()) { + $_SESSION['PMA_single_signon_error_message'] = PMA_sanitize(PMA_DBI_getError()); + } elseif (isset($php_errormsg)) { + $_SESSION['PMA_single_signon_error_message'] = $php_errormsg; } else { - PMA_auth(); - return true; + $_SESSION['PMA_single_signon_error_message'] = $GLOBALS['strCannotLogin']; } - + PMA_auth(); } // end of the 'PMA_auth_fails()' function ?> diff --git a/scripts/signon.php b/scripts/signon.php index b538cb56f..a289fce9a 100644 --- a/scripts/signon.php +++ b/scripts/signon.php @@ -44,6 +44,11 @@ if (isset($_POST['user'])) { phpMyAdmin single signon example +' . $_SESSION['PMA_single_signon_port'] . '

'; +} +?>
Username:
Password: