Método IAzApplication::InitializeClientContextFromStringSid (azroles.h)

O método InitializeClientContextFromStringSid obtém um ponteiro de objeto IAzClientContext do SID ( identificador de segurança ) especificado no formulário de texto.

Nota Se possível, chame a função InitializeClientContextFromToken em vez de InitializeClientContextFromStringSid. Para obter mais informações, consulte Comentários.

 

Sintaxe

HRESULT InitializeClientContextFromStringSid(
  [in]           BSTR             SidString,
  [in]           LONG             lOptions,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

Parâmetros

[in] SidString

Uma cadeia de caracteres que contém a forma de texto do SID da entidade de segurança. Esse deve ser um SID de cadeia de caracteres válido que pode ser convertido pela função ConvertStringSidToSid .

[in] lOptions

Opções para a criação de contexto.

Se AZ_CLIENT_CONTEXT_SKIP_GROUP for especificado, o SID especificado no parâmetro SidString não será necessariamente uma conta de usuário válida. O SID será usado para criar o contexto sem validação. O contexto criado será sinalizado como tendo sido criado a partir de um SID, a cadeia de caracteres SID será armazenada no campo nome do cliente e o campo nome de domínio estará vazio. Os grupos de tokens não serão usados na criação do contexto do cliente. Não há suporte para grupos de consultas LDAP (Lightweight Directory Access Protocol) quando AZ_CLIENT_CONTEXT_SKIP_GROUP é especificado. Como a conta não é validada no Active Directory, as propriedades de informações do usuário do contexto do cliente, como UserSamCompat, não serão válidas e, quando acessadas, retornarão ERROR_INVALID_HANDLE. A propriedade RoleForAccessCheck e o método AccessCheck de IAzClientContext ainda podem ser usados para especificar uma função para verificação de acesso. O método GetRoles de IAzClientContext ainda pode ser usado para enumerar funções atribuídas ao contexto dentro de um escopo específico.

Se AZ_CLIENT_CONTEXT_SKIP_GROUP não for especificado, o SID deverá representar uma conta de usuário válida.

[in, optional] varReserved

Reservado para uso futuro. Esse parâmetro pode usar um dos valores a seguir:

  • varReserved.vt == VT_ERROR e varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 e varReserved.lVal == 0
  • varReserved.vt == VT_I2 e varReserved.iVal == 0

[out] ppClientContext

Um ponteiro para um ponteiro para o objeto IAzClientContext retornado.

Valor retornado

Se a função for bem-sucedida, a função retornará S_OK.

Se a função falhar, ela retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Comentários

Se possível, chame a função InitializeClientContextFromToken em vez de InitializeClientContextFromStringSid. InitializeClientContextFromStringSid tenta recuperar as informações disponíveis em um token de logon em que o cliente realmente fez logon. Um token de logon real fornece mais informações, como o tipo de logon e as propriedades de logon, e reflete o comportamento do pacote de autenticação usado para o logon. O contexto do cliente criado por InitializeClientContextFromToken usa um token de logon e o contexto do cliente resultante é mais completo e preciso do que um contexto de cliente criado por InitializeClientContextFromStringSid.

Importante Os aplicativos não devem assumir que o contexto de chamada tenha permissão para usar essa função. A função AuthzInitializeContextFromSid lê o atributo tokenGroupsGlobalAndUniversal do SID especificado na chamada para determinar as associações de grupo do usuário atual. Se o objeto do usuário estiver no Active Directory, o contexto de chamada deverá ter acesso de leitura ao atributo tokenGroupsGlobalAndUniversal no objeto de usuário. O acesso de leitura ao atributo tokenGroupsGlobalAndUniversal é concedido ao grupo acesso compatível com o Pré-Windows 2000 , mas novos domínios contêm um grupo de Acesso Compatível pré-Windows 2000 vazio por padrão porque a seleção de configuração padrão é Compatível com Permissões com Windows 2000 e Windows Server 2003. Portanto, os aplicativos podem não ter acesso ao atributo tokenGroupsGlobalAndUniversal; nesse caso, a função AuthzInitializeContextFromSid falha com ACCESS_DENIED. Os aplicativos que usam essa função devem lidar corretamente com esse erro e fornecer documentação de suporte. Para simplificar a concessão de permissão de contas para consultar informações de grupo de um usuário, adicione contas que precisam da capacidade de pesquisar informações de grupo para o Grupo de Acesso de Autorização do Windows.
 
Os aplicativos que chamam essa função devem usar o nome de domínio totalmente qualificado ou o NOME UPN ( nome de entidade de usuário ). Caso contrário, esse método poderá falhar entre florestas se o nome de domínio NetBIOS for usado e os dois domínios não tiverem uma relação de confiança direta.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho azroles.h
Biblioteca Azroles.lib
DLL Azroles.dll
Redistribuível Pacote de Ferramentas de Administração do Windows Server 2003 no Windows XP

Confira também

Permitindo acesso anônimo

IAzApplication