Autor Tópico: Integração Scriptcase com AD (Autenticação LDAP)  (Lida 5458 vezes)

Ernesto dos Reis Troi

  • Novato
  • *
  • Mensagens: 8
    • Email
Integração Scriptcase com AD (Autenticação LDAP)
« Online: Setembro 27, 2010, 11:39:33 am »
Gostaria de integrar a autenticação do scriptcase com active diretory (LDAP), peço ajuda em como proceder, obrigado

William .'.

  • Iniciante
  • **
  • Mensagens: 83
    • Email
Re: Integração Scriptcase com AD (Autenticação LDAP)
« Responder #1 Online: Setembro 27, 2010, 01:16:20 pm »
Ertroi,

Existem algumas codificações mais e outras menos elaboradas, no entanto adaptei um exemplo simples para servir de base para você ok ,

1- Primeiro 'descomente' a linha do seu php.ini e reinicie o apache :
;extension=php_ldap.dll

2 - Crie a função

//-------------------------------------------------------------
// Função: valida_ldap
// Uso: valida_ldap( 'servidor', 'dominio\usuário', 'senha')
//-------------------------------------------------------------

function valida_ldap($srv, $usr, $pwd)  {

   $ldap_server = $srv;     
   $auth_user = $usr;     
   $auth_pass = $pwd;

    // Tenta se conectar com o servidor     
    if (!($connect = @ldap_connect($ldap_server))) {
       return FALSE;    // Erro na conexão com o servidor
    }

    // Tenta autenticar no servidor   
    if (!($bind = @ldap_bind($connect, $auth_user, $auth_pass))) {
     return FALSE;    // Autenticação OK
     } else { 
     return TRUE;    // Falha na Autenticação
     }

    ldap_unbind($connect);

}


Embora não tenha testado em meu ambiente de produção, nos testes com a versão 5.01.0011 do SC, a função funcionou como esperado

Mais detalhes sobre a documentação PHP LDAP Functions pode ser encontrada em  http://www.php.net/manual/en/ref.ldap.php

Espoero ter ajudado

William Scardua

Ernesto dos Reis Troi

  • Novato
  • *
  • Mensagens: 8
    • Email
Re: Integração Scriptcase com AD (Autenticação LDAP)
« Responder #2 Online: Setembro 27, 2010, 02:24:57 pm »
Mas como eu crio essa função la no scriptcase? Pode me ajudar no processo? Já tenho a aplicação de controle, quero tipo que ele autentique com a senha do ad o usuario que esta cadastrado na base para acesso, pode me mandar um exemplo?

Diogo Toscano

  • Administrator
  • Expert
  • *****
  • Mensagens: 590
    • :: ScriptCase ::
    • Email
Re: Integração Scriptcase com AD (Autenticação LDAP)
« Responder #3 Online: Setembro 27, 2010, 04:10:19 pm »
voce pode criar biblioteca ... ou colocar num evento do controle(login) e chamar no validate ....

Ernesto dos Reis Troi

  • Novato
  • *
  • Mensagens: 8
    • Email
Re: Integração Scriptcase com AD (Autenticação LDAP)
« Responder #4 Online: Setembro 28, 2010, 10:42:23 am »
Pessoal coloquei da forma abaixo, mas continua dando o erro de credencial invalida

$var_login = sc_sql_injection({login});
$var_password = sc_sql_injection({password});
$ldap['user']   = $var_login;
$ldap['pass']   = $var_password;
$ldap['host']   = '10.51.1.2';
$ldap['port']   = 389;
$ldap['dn']     = 'uid='.$ldap['user'].'@ctis.local';
    $ldap['base']   = 'DC=ctis,DC=local';
    // Conectando ao LDAP
    $ldap['conn'] = ldap_connect( $ldap['host'], $ldap['port'] );
   ldap_set_option($ldap['conn'], LDAP_OPT_PROTOCOL_VERSION, 3);

   
$ldap['bind'] = ldap_bind ($ldap['conn'], $ldap['dn'],$ldap['pass'] );;




    if ($ldap['bind'])
    {

   $sm_global_login = {login};   
   sc_set_global($sm_global_login);

        sc_lookup(ds_user_app, "select dbo.SCRIPTGROUPAPL.CODIGOAPL from dbo.SCRIPTGROUPAPL inner join dbo.SCRIPTGROUPUSER on dbo.SCRIPTGROUPAPL.CODIGOGRUPO = dbo.SCRIPTGROUPUSER.CODIGOGRUPO where dbo.SCRIPTGROUPUSER.CODIGOUSER = '{login}' ");

   if ({ds_user_app} != false)
   {
      for($i = 0; $i < count({ds_user_app}); $i++)
      {         
         sc_apl_status({ds_user_app[$i][0]}, 'on');
      }
   }
   
   sc_redir('detec');      
}
else
{
   sc_error_message("Acesso negado !");
}

Papekakord

  • Novato
  • *
  • Mensagens: 2
Re:Integração Scriptcase com AD (Autenticação LDAP)
« Responder #5 Online: Novembro 14, 2014, 05:18:51 am »
Common mistake that's no good.