Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 198
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Windows Passwort überprüfen [Übersetzung]


Autor: Macximilian
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 10508
  
Kick it on dotnet-kicks.de  

Beschreibung:

Die in C# übersetzte Version von diesem Snippet von Tim Hartwig:
http://dotnet-snippets.de/dns/windows-passwort-ueberpruefen-SID655.aspx


Abgelegt unter: NT, Windows, Psswort, Überprüfen, Prüfen, Anmeldung, Logon, IsNTPasswordValid.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[DllImport("advapi32.dll")]
private extern static int LogonUser(string lpszUsernme, string lpszDomain, string lpszPassword, LogonType dwLogonType, int dwLogonProvider, ref IntPtr phToken);

[DllImport("kernel32.dll")]
private extern static bool CloseHandle(IntPtr hObject);
public enum LogonType
{
    LOGON32_LOGON_INTERACTIVE = 2,
    LOGON32_LOGON_NETWORK = 3,
    LOGON32_LOGON_BATCH = 4,
    LOGON32_LOGON_SERVICE = 5,
    LOGON32_LOGON_UNLOCK = 7,
    LOGON32_LOGON_NETWORK_CLEARTEXT = 8,
    LOGON32_LOGON_NEW_CREDENTIALS = 9
}


/// <summary>
/// Determines whether [is NT password valid] [the specified username].
/// </summary>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <returns>
/// 	<c>true</c> if [is NT password valid] [the specified username]; otherwise, <c>false</c>.
/// </returns>
public bool IsNTPasswordValid(string username, string password)
{
    return IsNTPasswordValid(username, password, string.Empty);
}


/// <summary>
/// Determines whether [is NT password valid] [the specified username].
/// </summary>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <param name="domain">The domain.</param>
/// <returns>
/// 	<c>true</c> if [is NT password valid] [the specified username]; otherwise, <c>false</c>.
/// </returns>
public bool IsNTPasswordValid(string username, string password, string domain)
{
    IntPtr Token = new IntPtr();
    LogonUser(username, domain, password, LogonType.LOGON32_LOGON_INTERACTIVE, 0, ref Token);
    CloseHandle(Token);
    return Token.ToInt32() != 0;
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Mad2007 schrieb am:  19.12.2008 16:09:04

Hallo!

Wenn Du beim letzten Argument dem IntPtr ein "ref" spendierst, dann funktioniert
der Code sogar ;-)

private static int LogonUser(string lpszUsernme, string lpszDomain, string lpszPassword, LogonType dwLogonType, int dwLogonProvider, ref IntPtr phToken);

Nico schrieb am:  24.12.2008 15:14:24

Dann muss man dem Aufruf auch ein ref spendieren.

LogonUser(username, domain, password, LogonType.LOGON32_LOGON_INTERACTIVE, 0, ref Token);

Jan Welker schrieb am:  05.01.2009 16:02:26

Hallo,
danke für die Hinweise. Ich habe den Fehler korrigiert.
Jan


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Windows Passwort überprüfen
[C#] Beep Töne ausgeben (oldie but goldie)
[C#] Windows Username auslesen
[VB.NET] System aktualisieren
[C#] Betriebssystem Informationen abfragen
[C#] Startzeit von Windows ermitteln
[VB.NET] Windows XP Key ändern
[C#] Windows Version auslesen
[C#] Letzten Windows Fehler ausgeben
[VB.NET] Windows Neustarten
[C#] Runde Form mit Windows.Forms
[C#] Datei im Windows-Explorer anzeigen und markieren
[C#] Windows herrunterfahren, ausloggen, neustarten
[VB.NET] Taskmanageraufruf verhindern
[C#] Ordnergröße ermitteln
[VB.NET] Windows Live Messenger "Was ich gerade höre"
[C#] Öffnet den Windows Info Dialog.
[VB.NET] Autostart with windows Property
[C#] User-Verwaltung in eine ASP.NET Website einbauen
[C#] Prüfen ob aktueller Benutzer Administrator ist
[C#] old Windows Forms Image to new WPF Image
[VB.NET] Make Shortcut
[VB.NET] String uebers Netzwerk oder Internet and einen PC senden
[C#] prüfen ob String eine gültige IP ist
[C#] String auf Emailadresse prüfen
[C#] Prüfen, ob exklusiver Zugriff auf eine Access-DB möglich ist
[ASP.net] Datei nach Bildupload prüfen
[C#] Kollision von zwei rechteckigen Objekten prüfen
[C#] Prüfen, ob eine Datei ausfürbar ist (.exe, .bat, etc.)
[C#] String auf erlaubte Zeichen prüfen
[C#] Herausfinden, ob ein Programm (ProgramName) installiert ist.
[C#] Property auf Attribute prüfen Property.HasAttribute
[VB.NET] Permutation nachweisen
[VB.NET] Das Sieb des Eratosthenes
[VB.NET] Effizientere Primzahlprüfung großer Zahlen
[VB.NET] Das Sieb von Atkin
[VB.NET] Das Sieb von Atkin (2)
[VB.NET] Pandigitale Zahlen
[VB.NET] Das Sieb von Atkin (2) - aktuell
[C#] Prüfung, ob bestimmtes Bit in Byte gesetzt ist.
[C#] Setzt ein bestimmtes Bit in einem Byte

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.