Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Basti123 am April 12, 2011, 16:49:27

Titel: Loginoberfläche - Computername + Passwort???
Beitrag von: Basti123 am April 12, 2011, 16:49:27
Hallo,

ich habe für meine Datenbank ein Formular, in dem man sich anmelden muss (benutzeroberfläche) erstellt. Ist es möglich die Benutzerkonten so einzurichten, dass sich jemand nur von seinem PC mit PC name und dazugehörigem Passwort anmelden kann? also quasi müsste Access das ja dann erst auslesen. Wenn es möglich ist, wie geht das?

Danke

Grüße Basti
Titel: Re: Loginoberfläche - Computername + Passwort???
Beitrag von: database am April 12, 2011, 16:59:06
Hi,

dazu musst den Windowsbenutzer ermitteln, den Computernamen (Hostname) und das Passwort aus einer Tabelle auslesen.

Am Anmeldeformular wird dann der Windowsbenutzer ermittelt und das zugehörige Passwort aus der Tabelle gelesen.
Um den Windowsbenutzer zu ermitteln bedarf es nur wenige Zeilen Code in einem neuen Modul:


Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
                                     nSize As Long) As Long

'Die Prozedur ermittelt den angemeldeten
'Benutzernamen
Public Function GetBenutzer() As String
 
    Dim UserName As String
    Dim Result As Long

    UserName = Space$(256)
    Result = GetUserName(UserName, Len(UserName))

    If InStr(UserName, Chr$(0)) > 0 Then _
    UserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1)

    GetBenutzer = UserName

End Function


Den Rechnernamen kannst du mit folgender Function ermitteln:


Public Function GetComputerName() As String
    GetComputerName = Environ$("ComputerName")
End Function


Wenn du nun in einer Tabelle die Benutzernamen zusammen mit den rechnernamen und in Verschlüsselter Form die Kennwörter gespeichert hastt,
sollte es keine große Sache mehr sein, die Zugriffsbereichtigung zu erteilen oder verweigern.

HTH