Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método WindowsPrincipal.IsInRole (String)

 

Determina se o objeto atual pertence ao grupo de usuário do Windows com o nome especificado.

Namespace:   System.Security.Principal
Assembly:  mscorlib (em mscorlib.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, ControlPrincipal = true)]
public override bool IsInRole(
	string role
)

Parâmetros

role
Type: System.String

O nome do grupo de usuário do Windows para o qual verificar a associação.

Valor Retornado

Type: System.Boolean

true Se a entidade atual for um membro do grupo de usuários especificado Windows; Caso contrário, false.

Durante o teste de informações de função recém-criada, como um novo usuário ou um novo grupo, é importante fazer logoff e logon para forçar a propagação de informações de função dentro do domínio. Isso pode causar o IsInRole teste retornar false. Este método não é suportado no Windows 98 ou Windows Millennium Edition.

Por motivos de desempenho, o IsInRole(SecurityIdentifier) sobrecarga é recomendada como a sobrecarga preferível para determinar a função do usuário.

System_CAPS_noteObservação

No Windows Vista, o controle de conta de usuário (UAC) determina os privilégios de um usuário. Se você for um membro do grupo Administradores internos, recebem dois tokens de acesso de tempo de execução: um token de acesso de usuário padrão e um token de acesso de administrador. Por padrão, você está na função de usuário padrão. Quando você tenta executar uma tarefa que requer privilégios administrativos, você poderá elevar dinamicamente sua função usando a caixa de diálogo de consentimento. O código que executa o IsInRole método não exibe a caixa de diálogo de consentimento. O código retorna false se você estiver na função de usuário padrão, mesmo que estejam no grupo Administradores internos. Você pode elevar seus privilégios antes de executar o código clicando duas vezes no ícone do aplicativo e que indica que você deseja executar como administrador.

Para funções internas, o role cadeia de caracteres deve estar no formato "BUILTIN\RoleNameHere". Por exemplo, para testar a associação na função de administrador do Windows, a cadeia de caracteres que representa a função deve ser "BUILTIN\Administrators". Observe que a barra invertida talvez precisem ser substituídos. A tabela a seguir lista as funções internas.

System_CAPS_noteObservação

A ortografia para as funções incorporada no formato de cadeia de caracteres difere de ortografia usada no WindowsBuiltInRole enumeração. Por exemplo, a ortografia de um administrador na enumeração é "Administrador", não "administradores". Ao usar essa sobrecarga, use a ortografia para a função da tabela a seguir.

Grupos locais internos

BUILTIN\Administrators

BUILTIN \ usuários

BUILTIN\Guests

Operadores de conta\interna

Builtin\operadores

Operadores de BUILTIN\Print

Builtin\operadores

BUILTIN\Replicator

Para funções específicas de computador, o role cadeia de caracteres deve estar no formato "NomeDoComputadorRoleNameHere".

Para funções específicas do domínio, o role cadeia de caracteres deve estar no formato "NomeDeDomínio \ \RoleNameHere"; por exemplo, "SomeDomain\Domain Users".

System_CAPS_noteObservação

No .NET Framework versão 1.0, o role parâmetro diferencia maiusculas de minúsculas. No .NET Framework versão 1.1 e posterior, o role parâmetro diferencia maiusculas de minúsculas.

O exemplo de código a seguir demonstra o uso do WindowsPrincipal.IsInRole(String) método.

As cadeias de caracteres BUILTIN\Administrators e BUILTIN\Users são usados para determinar se a entidade atual for um administrador ou um usuário. Para o exemplo de código completo, consulte o WindowsPrincipal.IsInRole(Int32) método.

// Get the role using the string value of the role.
Console.WriteLine("{0}? {1}.", "Administrators",
    myPrincipal.IsInRole("BUILTIN\\" + "Administrators"));
Console.WriteLine("{0}? {1}.", "Users",
    myPrincipal.IsInRole("BUILTIN\\" + "Users"));

SecurityPermission

for the ability to manipulate the principal object. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.ControlPrincipal

.NET Framework
Disponível desde 1.1
Retornar ao início
Mostrar: