Principal e objetos de identidade

Código gerenciado pode descobrir a identidade ou a função de um objeto por meio de um Principal objeto, que contém uma referência a um identidade objeto. Talvez seja útil comparar objetos identity e principal conceitos familiares, como contas de usuário e grupo. Na maioria dos ambientes de rede, as contas de usuário representam pessoas ou programas, enquanto as contas de grupo representam certas categorias de usuários e os direitos que eles possuem. Da mesma forma.Objetos de identidade do NET Framework representam a usuários, enquanto as funções representam participações e os contextos de segurança. No.NET Framework, o objeto principal encapsula um objeto identidade e uma função. .Aplicativos do NET Framework concedem direitos ao principal com base em sua identidade ou, mais comumente, sua participação em funções.

Objetos de identidade

O objeto de identidade encapsula informações sobre o usuário ou entidade que está sendo validado. No seu nível mais básico, os objetos de identidade contêm um nome e um tipo de autenticação. O nome pode ser um nome de usuário ou o nome da conta do Windows, enquanto o tipo de autenticação pode ser um protocolo de logon com suporte, como o Kerberos V5, ou de um valor personalizado. A.NET Framework define um GenericIdentity que pode ser usado para a maioria dos cenários de logon personalizados e mais especializado de objeto WindowsIdentity objeto que pode ser usado quando você deseja que seu aplicativo depender da autenticação do Windows. Além disso, você pode definir sua própria classe de identidade que encapsula as informações de usuário personalizada.

O IIdentity interface define propriedades para acessar um nome e um tipo de autenticação, como Kerberos V5 ou NTLM. Todos os identidade classes implementam a IIdentity interface. Não há nenhuma relação necessária entre um identidade token de objeto e o processo de Windows NT em que um thread está sendo executado. No entanto, se o identidade objeto é um WindowsIdentity o objeto, a identidade será adotada para representar um token de segurança Windows NT.

Objetos de entidade

O objeto representa o contexto de segurança sob a qual o código está sendo executado. Os aplicativos que implementam segurança baseada em função concedem direitos com base na função associada a um objeto principal. Semelhante aos objetos de identidade, o.NET Framework fornece um GenericPrincipal objeto e um WindowsPrincipal objeto. Você também pode definir suas próprias classes personalizadas principais.

O IPrincipal interface define uma propriedade para acessar um associado identidade de objeto como um método para determinar se o usuário é identificado pelo Principal objeto é um membro de uma determinada função. Todos os Principal classes implementam a IPrincipal interface, bem como quaisquer propriedades e métodos adicionais que são necessários. Por exemplo, o common language runtime fornece a WindowsPrincipal classe, que implementa a funcionalidade adicional para o mapeamento de membros do grupo de Windows NT ou o Windows 2000 para funções.

A Principal objeto está vinculado a um contexto de chamada (CallContext) objeto dentro de um domínio de aplicativo (AppDomain). Um contexto de chamada padrão é sempre criado com cada nova AppDomain, portanto, sempre há um contexto de chamada disponível para aceitar o Principal objeto. Quando um novo segmento é criado, um CallContext objeto também é criado para o segmento. O Principal referência de objeto é automaticamente copiada da thread de criação para o novo thread CallContext. Se o tempo de execução não pode determinar qual Principal objeto pertence ao criador do segmento, ele segue a diretiva padrão para Principal e identidade criação de objeto.

Uma diretiva de domínio específico de aplicativo configurável define as regras para decidir que tipo de Principal objeto para associar um novo domínio de aplicativo. Onde houver a diretiva de segurança, o runtime pode criar Principal e identidade os objetos que refletem o token do sistema operacional associado com o segmento atual de execução. Por padrão, o runtime usa Principal e identidade objetos que representam os usuários não autenticados. O runtime não cria esses padrão Principal e identidade objetos até que o código tenta acessá-los.

Confiável o código que cria um domínio de aplicativo pode definir a diretiva de domínio de aplicativo que controla a construção do padrão Principal e identidade objetos. Esta diretiva de domínio específico do aplicativo se aplica a todos os threads de execução nesse domínio de aplicativo. Um host confiável, não gerenciado inerentemente tem a capacidade de definir esta diretiva, mas o código gerenciado que define essa diretiva deve ter o System.Security.Permissions.SecurityPermission para a diretiva de controlador de domínio.

Ao transmitir um Principal objeto entre domínios de aplicativo, mas dentro do mesmo processo (e, portanto, no mesmo computador), a infra-estrutura de comunicação remota copia uma referência para o Principal objeto associado com o contexto do chamador para o contexto do receptor.

Consulte também

Tarefas

Como: Criar um Objeto WindowsPrincipal

Como: Criar Objetos GenericPrincipal e GenericIdentity

Conceitos

Substituindo um objeto de entidade

Representando e Revertendo

Segurança baseada em função

Outros recursos

Conceitos chaves sobre segurança