@@ -50,46 +50,41 @@ public function getContainer()
50
50
51
51
function logIn ($ param ) {
52
52
53
- $ ds =@ ldap_connect (LDAP_HOST ,LDAP_PORT );
53
+ $ ds =ldap_connect (LDAP_HOST ,LDAP_PORT );
54
54
55
55
$ _SESSION ['loggedin ' ] = "-1 " ;
56
56
57
57
// Set LDAP Version, Default is Version 2
58
- @ ldap_set_option ($ ds , LDAP_OPT_PROTOCOL_VERSION , ( LDAP_VERSION ) ? LDAP_VERSION : 2 );
58
+ ldap_set_option ($ ds , LDAP_OPT_PROTOCOL_VERSION , ( LDAP_VERSION ) ? LDAP_VERSION : 2 );
59
59
// Referrals are disabled
60
- @ ldap_set_option ($ ds , LDAP_OPT_REFERRALS , 0 );
60
+ ldap_set_option ($ ds , LDAP_OPT_REFERRALS , 0 );
61
61
62
62
// Enable TLS Encryption
63
63
if (LDAP_ENCRYPTION == "tls " ) {
64
64
65
65
// Documentation says - set to never
66
66
putenv ('LDAPTLS_REQCERT=never ' ) or die ('Failed to setup the env ' );
67
- @ ldap_start_tls ($ ds );
67
+ ldap_start_tls ($ ds );
68
68
}
69
69
70
70
if (defined ('LDAP_BIND_USER ' ) && defined ('LDAP_BIND_PASSWORD ' )) {
71
- if (!@ ldap_bind ( $ ds , LDAP_BIND_USER , LDAP_BIND_PASSWORD )) {
71
+ if (!ldap_bind ( $ ds , LDAP_BIND_USER , LDAP_BIND_PASSWORD )) {
72
72
return array ();
73
73
}
74
74
}
75
- $ r =@ldap_search ( $ ds , LDAP_BASEDN , LDAP_USERNAME_ATTRIBUTE_OPEN .@ldap_escape ($ param ['username ' ]).LDAP_USERNAME_ATTRIBUTE_CLOSE );
75
+
76
+ $ r =ldap_search ( $ ds , LDAP_BASEDN , LDAP_USERNAME_ATTRIBUTE ."= " .$ param ['username ' ]);
76
77
if ($ r ) {
77
- $ result = @ ldap_get_entries ( $ ds , $ r );
78
+ $ result = ldap_get_entries ( $ ds , $ r );
78
79
79
80
if ($ result [0 ]) {
80
- if (@ldap_bind ( $ ds , $ result [0 ]['dn ' ], $ param ['password ' ]) ) {
81
- if ($ result [0 ] != NULL ) {
82
-
83
-
84
- if (defined ("LDAP_GROUPDN " )) {
85
- if (!$ this ->check_filegroup_membership ($ ds , (defined ("LDAP_GROUP_ARRAY " ) && LDAP_GROUP_ARRAY ) ? $ result [0 ][LDAP_GROUP_USER ][0 ] : $ result [0 ][LDAP_GROUP_USER ])) {
81
+ if (ldap_bind ( $ ds , $ result [0 ]['dn ' ], $ param ['password ' ]) ) {
82
+ if ($ result [0 ] != NULL ) {
83
+ if (!$ this ->check_filegroup_membership ($ ds , $ result [0 ][LDAP_USERNAME_ATTRIBUTE ])) {
86
84
return false ;
87
85
}
88
- }
89
-
90
86
if (array_key_exists (LDAP_UID , $ result [0 ])) $ user ['uid ' ] = $ result [0 ][LDAP_UID ][0 ];
91
87
else $ user ['uid ' ] = base_convert ($ param ['username ' ], 16 , 10 );
92
-
93
88
if (array_key_exists (LDAP_GID , $ result [0 ])) $ user ['gid ' ] = $ result [0 ][LDAP_GID ][0 ];
94
89
else $ user ['gid ' ] = 10 ;
95
90
@@ -101,43 +96,48 @@ function logIn($param) {
101
96
102
97
if (array_key_exists (LDAP_EMAIL , $ result [0 ])) $ user ['email ' ] = $ result [0 ][LDAP_EMAIL ][0 ];
103
98
else $ user[
'email ' ] =
"[email protected] " ;
104
-
99
+
105
100
$ user ['username ' ] = $ param ['username ' ];
106
101
$ user ['grp ' ] = "users " ;
107
102
$ user ['lastvisit ' ] = date ('c ' );
108
103
$ _SESSION ['uid ' ] = $ user ['uid ' ];
109
104
$ _SESSION ['loggedin ' ] = $ user ['username ' ];
110
- $ _SESSION ['userlevel ' ] = LDAP_USERLEVEL ;
105
+ $ _SESSION ['userlevel ' ] = " users " ;
111
106
$ _SESSION ['username ' ] = $ user ['username ' ];
112
107
$ _SESSION ['gid ' ] = $ user ['gid ' ];
113
- $ _SESSION ['grp ' ] = "users " ;
108
+ $ _SESSION ['grp ' ] = "users " ;
114
109
$ _SESSION ['data ' ] = $ user ;
115
110
116
- // Assign Admin Privs, should be read from the LDAP Directory in the future
117
- $ ADMIN_USER = explode ( " , " , LDAP_ADMIN_USER ) ;
111
+ // Assigne Admin Privs, should be read from the LDAP Directory in the future
112
+ $ ADMIN_USER = LDAP_ADMIN_USERS ;
118
113
foreach ($ ADMIN_USER as &$ value ) {
119
-
120
- if ( $ value == $ param [ ' username ' ]) {
121
- $ _SESSION [ ' userlevel ' ] = 1 ; # LDAP_ADMINLEVEL ;
122
- $ user ['grp ' ] = "users,admins " ;
123
- $ _SESSION [ " grp " ] = " users,admins " ;
124
- }
125
- }
126
- return $ user ;
114
+ if ( $ value == $ param [ ' username ' ]) {
115
+ $ _SESSION [ ' userlevel ' ] = LDAP_ADMINLEVEL ;
116
+ $ user [ ' grp ' ] = " users,admins " ;
117
+ $ _SESSION ['grp ' ] = "users,admins " ;
118
+ }
119
+ }
120
+ return $ _SESSION ;
121
+ return $ user ;
127
122
}
128
123
}
129
124
}
130
- }
125
+ }
131
126
return array ();
132
127
}
133
128
134
129
/* posixGroup schema, rfc2307 */
135
130
function check_filegroup_membership ($ ds , $ uid ) {
136
- $ dn = LDAP_GROUPDN ;
137
- $ attr = LDAP_GROUP_ATTRIBUTE ;
138
- $ result = @ldap_compare ($ ds , $ dn , $ attr , $ uid );
139
- if ($ result === true ) return true ;
140
- else return false ;
131
+ foreach (LDAP_GROUPS as $ ldap_group ){
132
+ $ dn = "cn= " .$ ldap_group .", " .LDAP_GROUP_BASE ;
133
+ $ attr = LDAP_GROUP_ATTRIBUTE ;
134
+ foreach ($ uid as $ ldap_user ){
135
+ $ result = ldap_compare ($ ds , $ dn , $ attr , $ ldap_user );
136
+ }
137
+ if ($ result === true ) return true ;
138
+ else return false ;
139
+
140
+ }
141
141
}
142
142
143
143
//logout function
@@ -171,6 +171,7 @@ function getUser() {
171
171
return $ _SESSION ['data ' ];
172
172
}
173
173
174
+
174
175
//create random password with 8 alphanumerical characters
175
176
176
177
function createPassword () {
0 commit comments