none
Active Directory - Valor RID RRS feed

  • Pergunta

  • Bom dia pessoal, estou com uma dúvida ao manipular dados vindos do Active Directory.

    Não consigo fazer verificação no valor do RID.

     

    Após fazer a validação de usuário e senha, a qual está funcionando normalmente, eu consigo mostrar na tela os dados do usuário que estão no AD, tais como, FullName, Password, SID e RID.

    No entanto esses mesmos valores eu nao consigo verificar em IF e nem jogá-los em query SQL.

     

    Exemplo:

     

    Set objUserWinNT = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")

     

    (Dados do usuário)

    FullName = "&objUserWinNT.FullName&"

    Name = "&objUserWinNT.Name&"

    ObjSid = objUserWinNT.get("objectSid")

    ObjectSid = "&SDDL_SID(ObjSid)&"

    ObjectRid = "&GET_RID(SDDL_SID(ObjSid))&" (valor que eu quero fazer a verificação)

     

    Response.Write(" < input type=hidden name=txtrid value="&GET_RID(SDDL_SID(ObjSid))&" > ")

     

    if Request("txtrid") <> "" then

    entre

    else

    saia

    end if

     

    No IF acima, o valor do request que deveria ser o mesmo valor que eu consigo mostrar na tela não é preenchido.

    Então a página passa diretamente e sai da mesma.

    Tentei jogar o valor dentro de um campo hidden, e dando response no mesmo o valor é mostrado dentro do campo, porém assim  mesmo não consigo passar o valor para o IF.

     

    Alguém tem alguma idéia?!

    Será que os valores vindos do AD precisam de alguma complementação?!

     

    Agradeço a ajuda.

     

    []s

    terça-feira, 4 de novembro de 2008 12:47

Todas as Respostas

  • Desculpe a pergunta tola, mas este if Request..... esta em outra página correto?? e não na mesma?

     

    Abraço

     

    Estevam

    terça-feira, 4 de novembro de 2008 13:36
  •  Luiz Estevam wrote:

    Desculpe a pergunta tola, mas este if Request..... esta em outra página correto?? e não na mesma?

     

    Abraço

     

    Estevam

     

    Na mesma página.

    terça-feira, 4 de novembro de 2008 13:46
  • Mows então é por isso que não está entrando no if, se voce já tem uma variavel na mesma página voce pode utilizar esta variavel local

    Exemplo:

     

    if ObjectRid <> "" then

     

    Agora o input voce criou dinamicamente então ele existe na página, mas ele não foi submetido pelo "form" por exemplo, entao quando voce da um Request("txtrid") no cabeçalho da página este parâmetro nem existe ainda, por isso entra sempre no else.

    Talvez assim já funcione pra voce

     

     

    if Request("txtrid") <> "" Or ObjectRid <> "" then

    ...

    end if

     

    Abraço

     

    Estevam

    terça-feira, 4 de novembro de 2008 14:01
  •  Luiz Estevam wrote:

    Mows então é por isso que não está entrando no if, se voce já tem uma variavel na mesma página voce pode utilizar esta variavel local

    Exemplo:

     

    if ObjectRid <> "" then

     

    Agora o input voce criou dinamicamente então ele existe na página, mas ele não foi submetido pelo "form" por exemplo, entao quando voce da um Request("txtrid") no cabeçalho da página este parâmetro nem existe ainda, por isso entra sempre no else.

    Talvez assim já funcione pra voce

     

     

    if Request("txtrid") <> "" Or ObjectRid <> "" then

    ...

    end if

     

    Abraço

     

    Estevam

     

    É verdade Estevam. Funcionou, em partes.

    Ainda não consigo jogar o valor do txtrid dentro da query SQL.

     

    Eis o meu select que está dentro do IF:

     

    " SELECT CODUSUARIO, RID, STATUS " & _

    " FROM TABELA " & _

    " WHERE STATUS = 1 AND RID = '"&Request("txtrid")&"' "

     

    To fazendo algo errado ainda?!

    terça-feira, 4 de novembro de 2008 15:37
  • Mows não estou entendendo um coisinha só, porque voce não usa as variaveis locais que voce já criou em vez de tentar regastar os valores pelo Request. tipo assim:

     

    if ObjectRid <> "" then

    " SELECT CODUSUARIO, RID, STATUS " & _

    " FROM TABELA " & _

    " WHERE STATUS = 1 AND RID = '"& ObjectRid &"' "

    end if

     

     

    Abraço

     

    Estevam

    terça-feira, 4 de novembro de 2008 16:21
  • Se eu coloco o ObjectRid no select o mesmo fica assim dando um response:

    SELECT  CODUSUARIO, RID, STATUS FROM TABELA WHERE STATUS = 1 AND RID = '&GET_RID(SDDL_SID(ObjSid))&'

     

     

     

    Se eu coloco o '&GET_RID(SDDL_SID(ObjSid))&' no select o mesmo fica assim dando um response:

    SELECT CODUSUARIO, RID, STATUS FROM TABELA  WHERE STATUS = 1 AND RID = 0'

     

    E o valor dentro do campo txtrid é 2079.

     

    Por isso perguntei se alguem sabia como que esses valores vem do AD, porque ta bem estranho.

    terça-feira, 4 de novembro de 2008 16:29