Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
320
Assunto : Visual Basic
Titulo: Validar um login de usuário no Sistema Operacional

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



O sistema operacional disponibiliza, na forma de API's, diversos serviços para serem utilizados pelas aplicações, entre eles a própria autenticação de usuários no sistema operacional.

Para utilizar essa API é necessário que o usuário que estiver executando este código tenha o privilégio Act as part of the operating system , por causa disso esse código não deve, em geral, ser inserido como para de um client VB, mas deve sim ser criado um componente para executar esse código.

Inserindo este componente no COM+, pode-se determinar que este componente rode com a identidade de um usuário específico, este sim com as permissões necessárias para utilizar esta API.

É importante ainda destacar que deve-se ter muito cuidado ao se criar algo como um login. O processo de login do sistema operacional é cuidadosamente planejado para evitar invasões. Ao criar um processo de login alternativo você corre o risco de deixar brechas de segurança.

Eis o código :

Declarações a serem inseridas em um módulo :


Option Explicit

Public Const LOGON32_LOGON_INTERACTIVE = 2
Public Const LOGON32_LOGON_BATCH = 4
Public Const LOGON32_LOGON_SERVICE = 5
Public Const LOGON32_PROVIDER_DEFAULT = 0



Declare Function LogonUser Lib "advapi32" Alias "LogonUserA" _
(ByVal lpszUsername As String, ByVal lpszDomain As String, _
ByVal lpszPassword As String, ByVal dwLogonType As Long, _
ByVal dwLogonProvider As Long, phToken As Long) As Long

Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long


Código de exemplo da chamada desta API :


Private Sub cmdlogin_Click()
Dim lStatus As Long
Dim TokenHandle As Long

lStatus = LogonUser(txtuser.Text, txtdomain.Text, txtpassword.Text, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, TokenHandle)
If lStatus Then
lStatus = CloseHandle(TokenHandle)
MsgBox "Login Successful", , "Valid User"
Else
MsgBox "Login Failed", , "Invalid User/Password"
End If
End Sub


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/31/2017 1:10:00 PM
nome: ZCsBzVaXAMRd
email: derby451@hotmail.com
comentário:
Q1K64W http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 11:04:00 AM
nome: YZvGdfhDKPrAam
email: derby451@hotmail.com
comentário:
bbWADf http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 11:01:00 AM
nome: PjoboSUwvw
email: jogcbfn@hotmail.com
comentário:
JBMjiq http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 12/30/2016 1:04:00 PM
nome: BSPpBnrzUXn
email: jfvynms4281rt@hotmail.com
comentário:
6hleSF http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

data: 10/14/2016 7:13:00 PM
nome: FsYyWQumBjgAFux
email: jimos4581rzt@hotmail.com
comentário:
JPp4bW http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br