summaryrefslogtreecommitdiff
blob: 65d92a873f8e59c22fd08ef4a81047e09ddcc9f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Index: frontends/php/authentication.php
===================================================================
--- frontends/php/authentication.php	(revision 32376)
+++ frontends/php/authentication.php	(revision 32393)
@@ -101,12 +101,11 @@
 			$config['authentication_type'] = $_REQUEST['config'];
 
 			// check login/password
-			$login = API::User()->ldapLogin(array(
-				'user' => get_request('user', $USER_DETAILS['alias']),
-				'password' => get_request('user_password', ''),
-				'cnf' => $ldap_cnf
-			));
+			$ldap = new CLdap($ldap_cnf);
+			$ldap->connect();
+			$login = $ldap->checkPass(get_request('user', $USER_DETAILS['alias']), get_request('user_password', ''));
 			if (!$login) {
+				error(_('Login name or password is incorrect'));
 				throw new Exception();
 			}
 
@@ -129,12 +128,13 @@
 	}
 	elseif (isset($_REQUEST['test'])) {
 		// check login/password
-		$result = API::User()->ldapLogin(array(
-			'user' => get_request('user', $USER_DETAILS['alias']),
-			'password' => get_request('user_password', ''),
-			'cnf' => $ldap_cnf
-		));
+		$ldap = new CLdap($ldap_cnf);
+		$ldap->connect();
+		$result = $ldap->checkPass(get_request('user', $USER_DETAILS['alias']), get_request('user_password', ''));
 
+		if (!$result)
+			error(_('Login name or password is incorrect'));{
+		}
 		show_messages($result, _('LDAP login successful'), _('LDAP login was not successful'));
 	}
 }
Index: frontends/php/api/classes/CUser.php
===================================================================
--- frontends/php/api/classes/CUser.php	(revision 32376)
+++ frontends/php/api/classes/CUser.php	(revision 32393)
@@ -822,15 +822,12 @@
 	// ******************************************************************************
 	// LOGIN Methods
 	// ******************************************************************************
-	public function ldapLogin($user) {
-		$cnf = isset($user['cnf']) ? $user['cnf'] : null;
-
-		if (is_null($cnf)) {
-			$config = select_config();
-			foreach ($config as $id => $value) {
-				if (zbx_strpos($id, 'ldap_') !== false) {
-					$cnf[str_replace('ldap_', '', $id)] = $config[$id];
-				}
+	protected function ldapLogin($user) {
+		$config = select_config();
+		$cnf = array();
+		foreach ($config as $id => $value) {
+			if (zbx_strpos($id, 'ldap_') !== false) {
+				$cnf[str_replace('ldap_', '', $id)] = $config[$id];
 			}
 		}