Es mag ein bisschen spät sein, aber zu erreichen Fenster-Authentifizierungsfunktionalität zu einer C#-Desktop-Anwendung zu machen, gibt es zwei Schritte, die mit den folgenden Schritten durchgeführt werden.
Schritt 1: Abrufen von Details zum aktuell angemeldeten Benutzer:
Dies ist ziemlich einfach. Wir können dies erreichen, indem wir die WindowsIdentity-Klasse von System.Security.Principal
Namensraum. Diese Klasse bietet eine statische Methode, getCurrent()
die ein Objekt von WindowsIdentity zurückgeben. Im Folgenden finden Sie den Code, den Sie verwenden können, um die aktuellen Anmeldedaten des Benutzers zu erhalten.
Schritt 2: Überprüfung der vom Benutzer angegebenen Windows-Anmeldeinformationen:
Sie müssen den Domänennamen, den Benutzernamen und das Passwort vom Benutzer abfragen, um diese Werte an den Interop-Dienst weiterzugeben. Dies ist im Vergleich zu oben etwas komplexer, da wir eine Windows-API mit IntropServices aufrufen müssen. Um dies zu erreichen, müssen wir eine externe Funktionsdeklaration hinzufügen und dann die Funktion aufrufen. Der folgende Code wird Ihnen helfen, dies besser zu verstehen.
bool issuccess = false;
string username = GetloggedinUserName();
if (username.ToLowerInvariant().Contains(txtUserName.Text.Trim().ToLowerInvariant()) && username.ToLowerInvariant().Contains(txtDomain.Text.Trim().ToLowerInvariant()))
{
issuccess = IsValidateCredentials(txtUserName.Text.Trim(), txtPwd.Text.Trim(), txtDomain.Text.Trim());
}
if (issuccess)
MessageBox.Show("Successfuly Login !!!");
else
MessageBox.Show("User Name / Password / Domain is invalid !!!");