Pergunta

Nós temos um aplicativo WinForms que servidor usa SQL para armazenar seus dados. Para autenticar os usuários do aplicativo, estamos usando SQL Server para fazer a autenticação. O usuário deve ter um nome de usuário / senha que existe no servidor de banco de dados para ser capaz de efetuar login.

Até aí tudo bem.

Agora, um de nossos clientes nos quer implementar logon único. Eles querem ser capazes de começar a nossa aplicação sem digitar qualquer nome de usuário / senha, eles querem usar o Windows para autenticar o usuário.

Você tem algum conselho sobre como poderíamos implementar isso?

Foi útil?

Solução

Veja este artigo Sinal WinForms App-on único em 2 linhas de código .

Muitos desenvolvedores não têm conhecimento de dois informação objetos ricos à sua disposição para validação baseada em funções e que também pode ser aproveitado para verificar o acesso autenticado, essencialmente logon único (SSO), para a sua aplicação, porque o usuário já tiver iniciado sessão no Área de Trabalho. Estes são os objetos WindowPrincipal e WindowsIdentity. O objetivo deste screencast é desmistificar como aproveitar as informações rica esses objetos fornecem -. Começando com apenas 2 linhas de código

Outras dicas

Eu diria que usando o Active Directory e SSPI (conexões aka confiáveis). Isso normalmente fazem uso de autenticação Kerberos.

Se você tem uma noção de um usuário em seu banco de dados, como uma tabela Users você pode adicionar outra coluna ou ter uma tabela separada para armazenar o nome de login de domínio daquele usuário (por exemplo, johnsmith@somedomain.example). Você mais comumente ver somedomain \ johnsmith, mas o método @ é a representação mais recente, preferido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top