Árvore de páginas

Função: GetUserFromSID

Recupera o nome do domínio e nome do usuário a partir de um código no padrão SID (Security Identifier) da Microsoft que os representa.


Importante

Esta função suporta apenas o Active Directory, não possui suporte ao Active Directory Federation Services.

🚨 Para uso de outros IDP (Identity provider) é necessário o Identity.

Abaixo mais detalhes sobre estes serviços:

O Active Directory ou AD é uma implementação da Microsoft de serviço de diretório no protocolo LDAP que armazena informações sobre objetos em rede de computadores e disponibiliza essas informações a usuários e administradores desta rede.

O Active Directory Federation Services ou ADFS é um provedor de identidade (IDP) fornecido pela Microsoft que funciona como um intermediário a um serviço ou domínio externo e permite a consulta e uso das credenciais existentes do Active Directory.


GetUserFromSID ( < cSID >, < cDomainName >, < cUserName > ) --> lValid


NomeTipoDescriçãoObrigatórioReferência
cSIDCaracter

Código SID do usuário autenticado na estação. Pode ser obtido com a função GetCredential().

X
cDomainNameCaracter

Será preenchido pela função após ser invocada. Conterá o nome do domínio extraído do código SID.


X
cUserNameCaracterSerá preenchido pela função após ser invocada. Conterá o nome do usuário extraído do código SID.
X
lFullDomainLogico

Parametro opcional para captura do dominio. Se for .F. irá trazer o dominio até o primeiro ponto, caso contrario trará todo nome do dominio. Observação : Esse novo parametro está disponível a partir do AppServer 20.3.0.9 e SmartClient 20.3.0.3




lValid (lógico)
  • Retorna verdadeiro (.T.) se a obtenção dos nomes de domínio e usuário foi realizada com sucesso, caso contrário, falso (.F.).
  • Função válida somente para estações rodando TOTVS Smart Client para Microsoft Windows. O retorno da função será sempre falso (.F.) caso seja invocada em estações com outros sistemas operacionais.
  • O Security Identifier (SID), representado por uma string de caracteres, pode ser resgatado do usuário autenticado na estação através da função GetCredential().
  • Essa função está disponível em builds superiores à 7.00.120420A


Exemplos

#include "TOTVS.CH"
User Function GetUserFromSID()
DEFINE DIALOG oDlg TITLE "Exemplo GetUserFromSID" FROM 180,180 TO 450,600 PIXEL
cTGetDomain := space(40)
cTGetUser := space(40)
oSayDomain:= TSay():New(13,01,{||'Domínio:'},oDlg,,,,,,.T.,CLR_RED,CLR_WHITE,200,7)
oTGetDomain := TGet():New( 20,01,{|x| If(Pcount()>0, cTGetDomain:= x, cTGetDomain)},oDlg,096,009,"",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cTGetDomain,,,,)
oSayUser:= TSay():New(35,01,{||'Usuário:'},oDlg,,,,,,.T.,CLR_RED,CLR_WHITE,200,7)
oTGetUser := TGet():New( 42,01,{|x| If(Pcount()>0, cTGetUser:= x, cTGetUser)},oDlg,096,009,"",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cTGetUser,,,,)
oTButtonGetUser := TButton():New( 63, 01, "Obter Credenciais",oDlg,{|| GetUserFromSID(GetCredential(), @cTGetDomain, @cTGetUser) },96,10,,,.F.,.T.,.F.,,.F.,,,.F. )
ACTIVATE DIALOG oDlg CENTERED
return

Abrangência

Protheus 10 , TOTVS Application Server 10 , ByYou Application Server



  • Sem rótulos