-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathadmin_utils.php
More file actions
73 lines (68 loc) · 1.84 KB
/
admin_utils.php
File metadata and controls
73 lines (68 loc) · 1.84 KB
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
67
68
69
70
71
72
73
<?php
/***************************************************************************************
function: real_admin_login_ldap
description: authenticates the user credentails using ldap and creates a session on success
params:
$db_conn - database link
$ldap_server - ldap server name
$dn - ldap dn ( with oouidoo as the pattern to be replaces for uid )
$uid - user login id
$passwd - user password
returns: session id
on error: redirects to error page
****************************************************************************************/
function real_admin_login_ldap( $db_conn, $ldap_server, $dn, $uid, $passwd )
{
global $_ldap_server;
global $_ldap_login_dn;
global $_err_ldap_connect;
global $_err_uid_null;
global $_err_login;
global $_err_page;
real_reset_error();
if( $uid == "" )
{
real_set_error( $_err_uid_null );
real_redirect_onerror( $_err_page, "", $db_conn);
}
if( $ldap = ldap_connect($_ldap_server))
{
session_start();
$old_sessid = session_id();
session_regenerate_id();
$new_sessid = session_id();
session_id($old_sessid);
session_destroy();
$old_session = $_SESSION;
session_id($new_sessid);
session_start();
$_SESSION = $old_session;
$login_id = real_get_login_id_by_login_name_ldap( $db_conn, $uid );
if($login_id == "")
{
exit();
real_set_error( $_err_login );
real_redirect_onerror( $_err_page, "", $db_conn);
}
$_SESSION['UID'] = $login_id;
$_SESSION['UPASSWD'] = "";
$sessionid = session_id();
$remoteip = $_SERVER['REMOTE_ADDR'];
$log = real_login_session( $db_conn, $login_id, $sessionid, $remoteip );
if( $log == false )
{
real_set_error( $_err_login );
real_redirect_onerror( $_err_page, "", $db_conn);
}
else
{
return $sessionid;
}
}
else
{
real_set_error( $_err_ldap_connect );
real_redirect_onerror( $_err_page, "", $db_conn);
}
}
?>