Throw an exception when login is canceled by an app

This commit is contained in:
Robin Appelman
2015-01-22 14:13:17 +01:00
parent 8a9acc5083
commit 8eda661761
3 changed files with 33 additions and 11 deletions

View File

@@ -844,19 +844,24 @@ class OC {
protected static function handleLogin() {
OC_App::loadApps(array('prelogin'));
$error = array();
$messages = [];
// auth possible via apache module?
if (OC::tryApacheAuth()) {
$error[] = 'apacheauthfailed';
} // remember was checked after last login
elseif (OC::tryRememberLogin()) {
$error[] = 'invalidcookie';
} // logon via web form
elseif (OC::tryFormLogin()) {
$error[] = 'invalidpassword';
try {
// auth possible via apache module?
if (OC::tryApacheAuth()) {
$error[] = 'apacheauthfailed';
} // remember was checked after last login
elseif (OC::tryRememberLogin()) {
$error[] = 'invalidcookie';
} // logon via web form
elseif (OC::tryFormLogin()) {
$error[] = 'invalidpassword';
}
} catch (\OC\User\LoginException $e) {
$messages[] = $e->getMessage();
}
OC_Util::displayLoginPage(array_unique($error));
OC_Util::displayLoginPage(array_unique($error), $messages);
}
/**