Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Autenticação

A autenticação é o processo de descoberta e verificar a identidade de uma entidade de segurança revisando as credenciais do usuário e validando essas credenciais em qualquer autoridade. As informações obtidas durante a autenticação é diretamente utilizável por seu código. Você também pode usar a segurança com base no.NET Framework para autenticar o usuário atual e para determinar se deve permitir que a entidade de segurança para acessar seu código. Consulte as sobrecargas do método de WindowsPrincipal::IsInRole para obter exemplos de como autenticar a entidade de segurança para funções específicas. Por exemplo, você pode usar a sobrecarga de WindowsPrincipal::IsInRole(String) para determinar se o usuário atual é um membro do grupo administradores.

Uma variedade de mecanismos de autenticação são usados atualmente, muitos de que pode ser usado com o .NET Framework a segurança baseada em. Alguns dos mecanismos usados com mais frequência são básicos, resumo, passport, o sistema operacional (como NTLM ou Kerberos), ou mecanismos definidos pelo aplicativo.

O exemplo a seguir requer que a entidade de segurança ativo é um administrador. O parâmetro de name é null, que permite a qualquer usuário que for um administrador para transmitir a demanda.

Observação Observação

No Windows Vista, Controle de Conta de Usuário (UAC) determina os privilégios de um usuário. Se você for um membro do grupo administradores internos, você tenha dois tokens de acesso de tempo de execução: um token padrão de acesso do usuário e um token de acesso de administrador. Por padrão, está na função de usuário padrão. Para executar o código que o requer ser um administrador, você deve primeiro elevar seus privilégios do usuário padrão para o administrador. Você pode fazer isso quando você inicia um aplicativo clique com o botão direito do mouse no ícone de aplicativo e indicando que você deseja executar como administrador.


using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Policy;
using namespace System::Security::Principal;

int main(array<System::String ^> ^args)
{
	System::String^ null;
	AppDomain::CurrentDomain->SetPrincipalPolicy(PrincipalPolicy::WindowsPrincipal);
	PrincipalPermission^ principalPerm = gcnew PrincipalPermission(null, "Administrators" );
      principalPerm->Demand();
	  Console::WriteLine("Demand succeeded");
    return 0;
}


O exemplo a seguir demonstra como determinar a identidade da entidade de segurança e funções disponíveis para a entidade de segurança. Um aplicativo deste exemplo pode ser confirmar que o usuário atual está em uma função que você permite usando seu aplicativo.


public:
   static void DemonstrateWindowsBuiltInRoleEnum()
   {
      AppDomain^ myDomain = Thread::GetDomain();

      myDomain->SetPrincipalPolicy( PrincipalPolicy::WindowsPrincipal );
      WindowsPrincipal^ myPrincipal = dynamic_cast<WindowsPrincipal^>(Thread::CurrentPrincipal);

      Console::WriteLine( "{0} belongs to: ", myPrincipal->Identity->Name );

      Array^ wbirFields = Enum::GetValues( WindowsBuiltInRole::typeid );

      for each ( Object^ roleName in wbirFields )
      {
         try
         {
            Console::WriteLine( "{0}? {1}.", roleName,
               myPrincipal->IsInRole(  *dynamic_cast<WindowsBuiltInRole^>(roleName) ) );
         }
         catch ( Exception^ ) 
         {
            Console::WriteLine( "{0}: Could not obtain role for this RID.",
               roleName );
         }
      }
   }


Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft