01. december 2003 - 18:05Der 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?
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
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.
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"
Er LogonUser() ikke også hvad jeg henviser til i mit link?
Synes godt om
Ny brugerNybegynder
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.