Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Ocasionalmente, talvez seja necessário um aplicativo para verificar nome do usuário e senha (daqui em diante chamado de credenciais). Você pode fazer isso de várias formas diferentes, dependendo do sistema operacional no qual o aplicativo é executado.
Este artigo descreve todas as maneiras comuns para verificar as credenciais de um usuário e os requisitos especiais para cada método.
Observação Coleta credenciais de usuário de um aplicativo de modo de usuário podem ser irritantes para os usuários e podem fornecer uma brecha de segurança no ambiente de computação empresarial. O requisito de Logon Unificação (um requisito que o usuário deve apenas ser necessário digitar suas credenciais uma vez na tela CTRL + ALT + DEL), foi adicionado para os requisitos de logotipo do Microsoft BackOffice por esses motivos muito. É importante garantir que você realmente precisa coletar credenciais e que algum outro método de validação do cliente/servidor não é mais apropriado. Consulte a documentação segurança na plataforma SDK para obter mais informações sobre representação e servidores protegidos de programação.
A API LogonUser foi documentada e disponível desde Windows NT 3.51 e costuma ser usado para verificar as credenciais do usuário. Essa API está disponível no Windows NT, Windows 2000 e Windows XP. Infelizmente, há algumas restrições sobre o uso de LogonUser nem sempre são convenientes satisfazer.
A primeira e maior essas restrições são que no Windows NT e Windows 2000, o processo que está chamando o LogonUser deve ter o privilégio SE_TCB_NAME (no Gerenciador de usuários, este é o direito "Funcionar como parte do Brazilian OS"). O privilégio SE_TCB_NAME é muito eficiente e não deve ser concedido a qualquer usuário arbitrário apenas para que eles possam executar um aplicativo que precisa para validar as credenciais. O método recomendado é chamar LogonUser a partir de um serviço que está sendo executado na conta sistema local, porque a conta do sistema local já tem o privilégio SE_TCB_NAME.
Observação API do Win32 LogonUser não requer privilégio TCB no Microsoft Windows Server 2003, entretanto, para compatibilidade de nível inferior, isso ainda é a melhor abordagem.
No Windows XP, não é mais necessário que um processo ter o privilégio SE_TCB_NAME para chamar LogonUser. Portanto, o método mais simples para validar as credenciais do usuário no Windows XP, é chamar a API LogonUser.
Um outro problema com LogonUser é que a API não está implementada no Windows 95, Windows 98 ou Windows Millennium Edition.
Como outra opção, você pode usar o provedor de suporte de segurança SSPI (interface) para fazer um logon de estilo de rede com fornecido as credenciais do usuário. Esse método de validação tem a vantagem de não exigir qualquer privilégio especial, bem como trabalhar em todas as versões do Windows. O resultado final de usar os serviços SSPI para validar as credenciais é um logon que é análogo ao chamar a API LogonUser com o tipo de logon LOGON32_LOGON_NETWORK. A maior desvantagem a esse tipo de logon é que você não pode acessar remoto recursos de rede após representando um logon de tipo de rede. Se seu aplicativo é chamar LogonUser com o tipo de logon LOGON32_LOGON_INTERACTIVE incapacidade do solução Windows NT para executar a delegação, em seguida, o SSPI/validação de logon provavelmente não será uma alternativa viável.
O código de exemplo fornecido abaixo mostra como chamar os serviços SSPI para realizar validação de credenciais.
Para usar esse método no Windows 95, Windows 98 e Windows Millennium Edition, você também precise ativar os serviços de segurança NTLM, abrir o painel de controle, rede, controle de acesso e selecionando o controle de acesso em nível de usuário.
No Windows XP, o valor de registro ForceGuest é definido como 1 por padrão na seguinte chave do Registro:
Em um computador com o Windows XP, que é um membro de um grupo de trabalho:
Se ForceGuest estiver habilitada (definida como 1), sempre tente SSPI fazer logon usando a conta Convidado.
Se a conta de convidado estiver ativada, um logon SSPI funcionará como convidado qualquer credenciais de usuário.
Se a conta de convidado é desabilitada, um logon SSPI falhará mesmo para credenciais válidas.
Se ForceGuest estiver desabilitado (definido como 0), SSPI efetuará logon como o usuário especificado.
Além disso, se a conta de convidado estiver ativada, pode êxito SSPI logon como convidado credenciais de usuário que não são válidos. O exemplo C de código neste artigo demonstra como você pode verificar o token de acesso do contexto de segurança estabelecidas. A função de auxiliar IsGuest no código de exemplo mostra como você pode verificar se o logon como o usuário especificado ou como convidado.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 180548
(http://support.microsoft.com/kb/180548/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.