2016-04-16 10 views
4

Ich baue eine Software-Anwendung und es wurde angefordert, dass ein Benutzer/Pass-System damit aus Sicherheitsgründen implementiert werden. Ich implementiere es in Visual Studio und war neugierig, ob es möglich ist, dass ich die Fenster login/pass anstelle von meine eigene Struktur erstellen muss. Vielen Dank im VorausWindows-Anmeldeinformationen in meinem C# -Programm fragen?

+0

Bitte geben Sie an, ob Sie eine Desktop-Anwendung schreiben (oder ASP.NET?) – miroxlav

+0

Entschuldigung, es handelt sich um eine Desktop-App. – ApprenticeCoder

+0

Wenn sich Ihre Benutzer im aktiven Verzeichnis befinden, müssen Sie nicht einmal zur Eingabe auffordern. Sie können auf die Windows-Identität und Gruppenmitgliedschaft im Code oder deklarativ mit PrincipalPermission zugreifen. – Crowcoder

Antwort

4

Was Sie suchen, ist die Windows API CredUIPromptForCredentials. Hier ist, wie Sie es aus C# verwenden - PInvoke

Beachten Sie jedoch, dass dies den Klartext Benutzername und das Kennwort an Ihre Anwendung zurückgibt. Dies kann ein Sicherheitsproblem sein, abhängig davon, ob Ihr Benutzer Ihrer App vertraut oder nicht.

Ich weiß keine Möglichkeit, die aktuellen Anmeldeinformationen ungültig zu machen, Windows zwingt eine Eingabeaufforderung für interne NTLM/Kerberos-Authentifizierung.

+1

ich denke, die aktuelle und up-to-date-Funktion ist 'CredUIPromptForWindowsCredentials', die ein bisschen mehr erweiterbar ist ([MSDN doc] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa375178 (v = vs.85) .aspx)), aber das ist die richtige Antwort – Jcl

+0

Vielen Dank! Das sieht so aus, als würde es meine Bedürfnisse abdecken! – ApprenticeCoder

+0

Nachdem ich von der Arbeit gekommen war, fing ich an, durchzusehen und ich kann das nicht wirklich für mich arbeiten lassen. Ich vermisse etwas, was offensichtlich ist. Hat jemand eine Anwendung, die dies erfolgreich verwendet, die ich überfliegen kann? – ApprenticeCoder