Recursos do MSGina.dll
Se você estiver escrevendo uma GINA para substituir a DLL GINA padrão da Microsoft (MSGina.dll), convém fornecer algumas ou todas as funcionalidades padrão da GINA. Veja a seguir uma lista de recursos padrão e uma breve descrição de como eles são controlados.
Observação
As DLLs GINA são ignoradas no Windows Vista.
Os valores de chave do Registro controlam a disponibilidade ou o comportamento de muitos desses recursos padrão da GINA. A menos que indicado de outra forma, esses valores de chave pertencem à chave do Registro do Winlogon e têm um tipo de valor de [REG_SZ]. O caminho real da chave winlogon é:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Caixa de diálogo Notificação Legal
Em alguns locais, é legal que qualquer pessoa que tenha acesso a uma estação de trabalho faça logon e comece a trabalhar, a menos que haja um aviso que indique que o sistema é somente para usuários autorizados. Além disso, muitos usuários querem que mensagens específicas da empresa sejam exibidas antes do logon normal. A GINA padrão usa dois valores de chave do Registro winlogon para permitir que um sistema exiba informações antes do logon. Se um dos valores de chave estiver presente e contiver uma cadeia de caracteres não nula, uma caixa de diálogo Aviso Legal será exibida antes da tela de boas-vindas usual. Esses nomes de valor de chave são mostrados na tabela a seguir.
Nome do valor da chave Sumário LegalNoticeCaption A cadeia de caracteres a ser exibida como o legenda da caixa de diálogo aviso legal LegalNoticeText A cadeia de caracteres a ser exibida como a mensagem da caixa de diálogo aviso legal Exibir o sobrenome do usuário
Por padrão, a tela de logon exibe o nome do último usuário para fazer logon com êxito na estação de trabalho. Esse recurso é controlado pelo valor da chave do Registro DontDisplayLastUserName . Quando esse valor de chave é definido como um, o nome de usuário não é exibido na caixa de diálogo de logon.
Logon automático
Esse recurso permite que um sistema faça logon em um usuário automaticamente sempre que o sistema é iniciado usando informações padrão e desabilitando a caixa de logon CTRL+ALT+DEL.
Esse recurso usa os seguintes valores da chave Winlogon.
Valor Sumário AutoAdminLogon 1 AutoLogonCount O número de vezes para fazer um logon automático Defaultusername O nome da conta de usuário DefaultDomainName O nome do domínio no qual a conta de usuário está Se o valor da chave AutoAdminLogon estiver presente e contiver um e o valor da chave AutoLogonCount não estiver presente, um logon automático ocorrerá sempre que o usuário atual fizer logoff ou o sistema for reiniciado. A conta que está sendo conectada é especificada usando os valores de chave DefaultUserName e DefaultDomainName . A senha da conta pode ser especificada de duas maneiras. Para computadores que executam um dos sistemas operacionais Windows Server 2003 ou Windows XP, a senha deve ser armazenada como um segredo usando a função LsaStorePrivateData . Para obter detalhes, consulte Protegendo a senha de logon automático. A outra maneira de armazenar a senha é em texto não criptografado na entrada DefaultPassword da chave Winlogon; para fins de segurança, essa técnica deve ser evitada. Se você armazenar a senha usando a função LsaStorePrivateData , não forneça uma entrada DefaultPassword na chave Winlogon.
Se o valor da chave AutoAdminLogon estiver presente e contiver um, e se o valor da chave AutoLogonCount estiver presente e não for zero, AutoLogonCount determinará o número de logons automáticos que ocorrem. Cada vez que o sistema é reiniciado, o valor de AutoLogonCount será reduzido em um, até atingir zero. Quando AutoLogonCount atingir zero, nenhuma conta será conectada automaticamente, o valor da chave AutoLogonCount e o valor da chave DefaultPassword , se usado, serão excluídos do registro e AutoAdminLogon será definido como zero.
Há uma limitação adicional ao uso de AutoAdminLogon: por padrão, MSGina.dll verifica o estado da chave SHIFT quando AutoAdminLogon é um. Se a chave SHIFT for mantida pressionada durante o processo de inicialização, MSGina.dll ignorará o valor da chave AutoAdminLogon e solicitará ao usuário informações de identificação e autenticação interativamente. Esse é um recurso útil quando você está depurando um aplicativo dedicado. Para desabilitar o significado da tecla SHIFT, defina o valor da chave IgnoreShiftOverride como um.
Permitir desligamento não autenticado
Você pode configurar a GINA padrão para incluir um botão Desligar na caixa de diálogo de logon. Isso permite que os usuários desliguem o sistema sem primeiro fazer logon. O valor de chave a seguir controla se esse botão está incluído.
Valor Descrição ShutdownWithoutLogon Um para incluir o botão; zero para excluir o botão Ativação doUserinit.exe
Userinit.exe é um aplicativo executado por MSGina.dll quando o usuário faz logon. Ele é executado no contexto do usuário conectado recentemente e na área de trabalho do aplicativo. Sua finalidade é configurar o ambiente do usuário, incluindo a restauração de usos de rede, o estabelecimento de configurações de perfil, como fontes e cores de tela, e a execução de scripts de logon. Depois de concluir essas tarefas, Userinit.exe executa os programas de shell do usuário. Os programas de shell herdam o ambiente que Userinit.exe configura. Os programas de shell específicos que Userinit.exe executa são armazenados no valor da chave do Shell na chave do Registro do Winlogon.
O valor da chave do Shell pode conter uma lista separada por vírgulas de programas a serem executados. O Windows Explorer é o programa de shell padrão e será executado se o valor da chave do Shell for nulo ou não estiver presente. Por padrão, o Windows Explorer está listado.
Opções de segurança de logon
Quando conectado, se um usuário inserir uma SAS ( sequência de atenção segura ), o usuário receberá uma tela de opções de segurança. Entre as opções listadas estão:
- Desligue o sistema.
- Dê logoff.
- Altere a senha.
- Vá para a lista de tarefas.
- Bloqueie a estação de trabalho.
Uma GINA substituta pode fornecer opções semelhantes quando um evento SAS é recebido enquanto um usuário está conectado.