4 Stimmen

Schreiben einer benutzerdefinierten NTLM-Abfrage/Antwort in ASP.Net

Ich weiß, dass Sie NTLM aktivieren können Authentifizierung in einer ASP.Net-Anwendung mit:

<authentication mode="Windows" />

Ich muss jedoch Forms, HTTP und andere benutzerdefinierte Authentifizierungen in derselben Anwendung handhaben, sodass die begrenzte integrierte Unterstützung von ASP.Net nicht ausreicht.

Der NTLM-Handshake sollte recht einfach sein:

Request  - [unauthenticated - no user info passed]

Response - 401 Unauthorized
           WWW-Authenticate: NTLM

Request  - Authorization: NTLM <base64-encoded type-1-message>

Response - 401 Unauthorized
           WWW-Authenticate: NTLM <base64-encoded type-2-message>

Request  - Authorization: NTLM <base64-encoded type-3-message>

           Server can now check username/password against LDAP from type-3 message
Response - 200 Ok [now authenticated & authorised]

Um meine eigene Version zu erstellen, muss ich also Folgendes analysieren Typ-1 y Typ-3 Nachrichten und erzeugen eine Typ-2 Nachricht.

Die Struktur für diese Nachrichten ist gut dokumentiert, aber ziemlich komplex - Es erscheint mir sehr umständlich, meine eigenen Nachrichtengeneratoren und Parser zu schreiben. Ich denke, die Methoden zum Lesen und Schreiben dieser Nachrichten sollten bereits in .Net vorhanden sein, aber ich habe sie nicht finden können.

Wie kann ich diese NTLM-Nachrichten mit .Net erstellen und analysieren?

1voto

Peter Loh Punkte 11

Cassini unterstützt die NTLM-Authentifizierung, so dass Sie den Quellcode verwenden können, um einfacher eine Klasse zu erstellen, die die NTLM-Autorisierungsnachrichten parst.

http://cassinidev.codeplex.com/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X