2 commits - lib/api lib/Auth lib/Auth.php lib/kolab_api_controller.php lib/kolab_client_task.php lib/User.php
Aleksander Machniak
machniak at kolabsys.com
Tue Apr 3 14:43:45 CEST 2012
lib/Auth.php | 5 +++++
lib/Auth/LDAP.php | 17 +++++++++++++----
lib/User.php | 24 ++++++++++++++++--------
lib/api/kolab_api_service_group.php | 1 -
lib/kolab_api_controller.php | 3 ++-
lib/kolab_client_task.php | 8 ++++++--
6 files changed, 42 insertions(+), 16 deletions(-)
New commits:
commit 2c68d1b93a8f90cce2b97a3438e3fe37653d93f2
Merge: 5ea4fce 2cde289
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Tue Apr 3 14:43:36 2012 +0200
Merge branch 'master' of ssh://git.kolab.org/git/kolab-wap
commit 5ea4fce984f81486857e985c8c9ece86b4ab3273
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Tue Apr 3 14:42:59 2012 +0200
Fix group_members_list()
Fix getting logged in user data
diff --git a/lib/Auth.php b/lib/Auth.php
index 255afac..18294f8 100644
--- a/lib/Auth.php
+++ b/lib/Auth.php
@@ -94,6 +94,11 @@ class Auth {
*
* This user is to be authenticated against the 'kolab'
* 'primary_domain'.
+ *
+ * @param string $username User name (DN or mail)
+ * @param string $password User password
+ *
+ * @return bool|string User ID or False on failure
*/
public function authenticate($username, $password)
{
diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index dd4da66..cdb58d7 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -118,6 +118,14 @@ class LDAP
*********** Public methods ************
**********************************************************/
+ /**
+ * Authentication
+ *
+ * @param string $username User name (DN or mail)
+ * @param string $password User password
+ *
+ * @return bool|string User ID or False on failure
+ */
public function authenticate($username, $password)
{
error_log("LDAP authentication request for $username");
@@ -143,7 +151,7 @@ class LDAP
}
if (($bind_ok = $this->_bind($user_dn, $password)) == true) {
- $this->_unbind();
+// $this->_unbind();
if (isset($_SESSION['user'])) {
$_SESSION['user']->user_root_dn = $root_dn;
@@ -155,7 +163,8 @@ class LDAP
error_log("Successfully bound with User DN: " . $user_dn . " but not saving it to the session");
}
- return true;
+ // @TODO: return unique attribute
+ return $user_dn;
}
else {
error_log("LDAP Error: " . $this->_errstr());
@@ -631,7 +640,7 @@ class LDAP
return self::normalize_result($this->search($group_dn));
}
- public function group_members_list($subject)
+ public function group_members_list($group)
{
$group_dn = $this->entry_dn($group);
@@ -1352,7 +1361,7 @@ class LDAP
}
error_log("Searching $base_dn with filter: $search_filter");
- error_log("Searching with user: " . $_SESSION['user']->user_bind_dn);
+// error_log("Searching with user: " . $_SESSION['user']->user_bind_dn);
$this->_bind($_SESSION['user']->user_bind_dn, $_SESSION['user']->user_bind_pw);
diff --git a/lib/User.php b/lib/User.php
index 74f4567..d4f8ca0 100644
--- a/lib/User.php
+++ b/lib/User.php
@@ -28,19 +28,15 @@ class User
private $_authenticated = FALSE;
private $auth;
- private $username = NULL;
- private $password = NULL;
+ private $userid;
+ private $username;
+ private $password;
private $_groups = FALSE;
private $domain;
private $working_domain;
- public function get_username()
- {
- // Who's asking?
- return $this->username;
- }
public function _get_information()
{
@@ -62,7 +58,8 @@ class User
$this->_authenticated = TRUE;
$this->username = $username;
$this->password = $password;
- $this->domain = $this->auth->domain;
+ $this->userid = $result;
+ $this->domain = $this->auth->domain;
// $this->_groups = $this->groups();
}
@@ -74,6 +71,17 @@ class User
return $this->_authenticated;
}
+ public function get_username()
+ {
+ // Who's asking?
+ return $this->username;
+ }
+
+ public function get_userid()
+ {
+ return $this->userid;
+ }
+
public function get_domain()
{
if ($this->working_domain) {
diff --git a/lib/api/kolab_api_service_group.php b/lib/api/kolab_api_service_group.php
index 9b9c076..7bb14c0 100644
--- a/lib/api/kolab_api_service_group.php
+++ b/lib/api/kolab_api_service_group.php
@@ -152,7 +152,6 @@ class kolab_api_service_group extends kolab_api_service
//error_log("Empty \$getdata['group']");
return FALSE;
}
-
$result = $auth->group_members_list($getdata['group']);
return array(
diff --git a/lib/kolab_api_controller.php b/lib/kolab_api_controller.php
index 2aaef55..cfd984a 100644
--- a/lib/kolab_api_controller.php
+++ b/lib/kolab_api_controller.php
@@ -281,8 +281,9 @@ class kolab_api_controller
$_SESSION['start'] = time();
return array(
'user' => $_SESSION['user']->get_username(),
+ 'userid' => $_SESSION['user']->get_userid(),
'domain' => $_SESSION['user']->get_domain(),
- 'session_token' => session_id()
+ 'session_token' => session_id(),
);
}
diff --git a/lib/kolab_client_task.php b/lib/kolab_client_task.php
index 9e1f8a2..fb1e116 100644
--- a/lib/kolab_client_task.php
+++ b/lib/kolab_client_task.php
@@ -181,12 +181,16 @@ class kolab_client_task
//console($result);
if ($token = $result->get('session_token')) {
- $user = array('token' => $token, 'domain' => $result->get('domain'));
+ $user = array(
+ 'token' => $token,
+ 'id' => $result->get('userid'),
+ 'domain' => $result->get('domain')
+ );
$this->api->set_session_token($user['token']);
// find user settings
- $res = $this->api->get('user.info', array('user' => $login['username']));
+ $res = $this->api->get('user.info', array('user' => $user['id']));
$res = $res->get();
if (is_array($res) && !empty($res)) {
More information about the commits
mailing list