Hello everyone,
How can I restrict login access to a specific group only?
Here is my code:
$login = {login};
$pswd = {pswd};
$options = array(
'domain_controllers' => array('222.234.21.3'),
'base_dn' => 'OU=Test,´OU=ADB-Gruppen,DC=ade,DC=ddd,DC=cc',
'account_suffix' => '@ade.ddd.cc',
'admin_username' => $login,
'admin_password' => $pswd,
'ad_port' => 636
);
$ldapConn = sc_ldap_login($options);
if($ldapConn === false)
{
sc_log_add('Login Fail', {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
else
{
$user_filter = {login};
if(strpos($user_filter, "\\") !== false)
{
$user_filter = substr($user_filter, strpos($user_filter, "\\")+1);
}
$filter = "(|(samaccountname=".$user_filter . ")(uid=".$user_filter.")(userprincipalname=".$user_filter."))";
$dn = "";
if(strpos($login, '=') !== false)
{
$dn = $login;
$filter = "all";
}
$result = sc_ldap_search($filter, array('mail', 'displayname', 'cn', 'givenname'), $dn);
[usr_login] = {login};
[usr_name] = {login};
if(isset($result[0]['displayname'][0]))
{
[usr_name] = $result[0]['displayname'][0];
}
elseif(isset($result[0]['cn'][0]))
{
[usr_name] = $result[0]['cn'][0];
}
elseif(isset($result[0]['givenname'][0]))
{
[usr_name] = $result[0]['givenname'][0];
}
[usr_email] = (isset($result[0]['mail'][0]) ? $result[0]['mail'][0] : '');
// Erfolgreicher Login: Weiterleitung zur Hauptanwendung
//sc_set_global("is_authenticated", true); // Login-Status global speichern
//sc_redir('BLP_Auswahlmenue'); // Weiterleitung nach Login
}
What do I need to adjust in the code?
Thanks in advance!