Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    134

    [vb6] autenticazione utente in rete

    In questo Forum e su altri ho trovato spesso questo problema (problema che avevo anche io da parecchio tempo) ma non ho mai trovato una risposta.

    Sul Server ho una cartella condivisa in cui un solo utente preciso ha privilegi di accesso. Dal Client devo leggere il contenuto di quella cartella passando OVVIAMENTE le credenziali per poter accedere. Ho sempre risolto creando un NetDrive che si connettesse con user-id diversa da quella utilizzata dall' utente.
    Ho trovato un' altra soluzione. In questo esempio visualizzo in una PictureBox un' immagine Bmp:

    DICHIARAZIONE API:
    codice:
    Public Declare Function LogonUser Lib "advapi32.dll" _
    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
    
    Public Declare Function ImpersonateLoggedOnUser Lib "advapi32.dll" (ByVal hToken As Long) As Long
    
    Public Declare Function RevertToSelf Lib "advapi32.dll" () As Long
    
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    CODICE DEL PROGETTO IN CUI C'E' UNA PICTUREBOX ED UN COMMANDBUTTON:
    codice:
    Private Const LOGON32_LOGON_INTERACTIVE = 2
    Private Const LOGON32_PROVIDER_DEFAULT = 0
    
    Public Function Logon(ByVal strAdminUser As String, ByVal _
    strAdminPassword As String, ByVal strAdminDomain As String) As Boolean
    
         Dim lngTokenHandle, lngLogonType, lngLogonProvider As Long
         Dim blnResult As Boolean
    
         lngLogonType = LOGON32_LOGON_INTERACTIVE
         lngLogonProvider = LOGON32_PROVIDER_DEFAULT
    
         blnResult = RevertToSelf()
    
         blnResult = LogonUser(strAdminUser, strAdminDomain, strAdminPassword, _
                                              lngLogonType, lngLogonProvider, _
                                              lngTokenHandle)
    
         blnResult = ImpersonateLoggedOnUser(lngTokenHandle)
         CloseHandle (lngTokenHandle)
         Logon = blnResult
    
    End Function
    
    Public Sub Logoff()
        Dim blnResult As Boolean
        blnResult = RevertToSelf()
    End Sub
    
    Private Sub Command1_Click()
        If Logon("Utente", "Password", "Dominio") Then
            Picture1.Picture = LoadPicture("\\Server\img\xx.bmp")
        Else
            MsgBox "utento non corretto"
        End If
        Logoff '*** IL LOGOFF E' IMPORTANTE SE NO FA CASINI *****
    End Sub
    Se si potesse inserire tra le pillole sarebbe fantastico.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    a me da sempre
    utente non corretto

    provo il tutto
    su una cartella accesibile solo da amministratore di un windows nt
    che è in rete

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.