Avatar billede ygras Nybegynder
01. december 2003 - 18:05 Der er 4 kommentarer og
1 løsning

Kodeord, Administrator, NT, 2000, XP

Jeg skal have lavet et program hvor jeg efter at have indtastet admin passwordet for et givent domæne i NT, Xp eller 2000 kan få adgang til et eller andet program.

Jeg kan blot ikke finde en funktion hvori man kan verificere et administrator password. Er der nogen der kender til en sådan funktion?
Avatar billede bufferzone Praktikant
01. december 2003 - 18:12 #1
Du kan da sætte ntfs rettigheder på programfiler, så vil brugerens password blive kontrolleret når en bruger forsøger at starte programmet op. Har brugeren ikke rettigheder, starter programmet ikke
Avatar billede ygras Nybegynder
01. december 2003 - 18:18 #2
Ikke helt hvad jeg søgte. Programmet skal indeholde et check på admin password som er defineret i domænet. Programmet skal herefter aktivere et program et andet sted. Jeg ved blot ikke hvordan chekker dette.
Kort sagt. Jeg har en inputbox -> Indtaster password -> programmet chekker password op mod domæne/admin password. -> Programmet aktivere hvis koden er korrekt det ønsket program.
Avatar billede squashguy Nybegynder
01. december 2003 - 18:36 #3
Avatar billede ygras Nybegynder
02. december 2003 - 09:30 #4
Fandt selv svaret og til alle interesseret så er det:

Option Explicit
Private 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
Private Declare Function ImpersonateLoggedOnUser Lib "advapi32.dll" (ByVal hToken As Long) As Long
Private Declare Function RevertToSelf Lib "advapi32.dll" () As Long
Private Const LOGON32_PROVIDER_DEFAULT    As Long = 0&
Private Const LOGON32_PROVIDER_WINNT35    As Long = 1&
Private Const LOGON32_LOGON_INTERACTIVE  As Long = 2&
Private Const LOGON32_LOGON_NETWORK      As Long = 3&
Private Const LOGON32_LOGON_BATCH        As Long = 4&
Private Const LOGON32_LOGON_SERVICE      As Long = 5&
Public Function doLogon(ByVal strAdminUser As String, ByVal strAdminPassword As String, ByVal strAdminDomain As String) As Boolean
On Error GoTo DamnErr
    Dim lngTokenHandle As Long
    Dim lngLogonType As Long
    Dim 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)
    doLogon = blnResult
    MsgBox "Log på: " & doLogon
    Exit Function
DamnErr:
  Dim sERRORtxt As String
  sERRORtxt = "Error Number: " & Err.Number & vbCrLf & _
              "Description: " & Err.Description & vbCrLf & _
              "Source: " & Err.Source & vbCrLf & _
              "Function: doLogon" & vbCrLf & _
              "Date: " & Now() & vbCrLf & _
              "Input:" & vbCrLf & _
              "  strAdminUser=" & strAdminUser & vbCrLf & _
              "  strAdminPassword=" & strAdminPassword & vbCrLf & _
              "  strAdminDomain=" & strAdminDomain
  App.LogEvent sERRORtxt, vbLogEventTypeError
  Err.Clear
End Function

Public Function doLogoff() As Boolean
On Error GoTo DamnErr
    doLogoff = RevertToSelf()
    Exit Function
DamnErr:
Dim sERRORtxt As String
  sERRORtxt = "Error Number: " & Err.Number & vbCrLf & _
              "Description: " & Err.Description & vbCrLf & _
              "Source: " & Err.Source & vbCrLf & _
              "Function: doLogoff" & vbCrLf & _
              "Date: " & Now()
  App.LogEvent sERRORtxt, vbLogEventTypeError
  Err.Clear
End Function

Funtionen kaldes med:
doLogon "administrator", "Kodeord", "Domæne"
Avatar billede squashguy Nybegynder
02. december 2003 - 11:33 #5
Er LogonUser() ikke også hvad jeg henviser til i mit link?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester