Frage

Ich habe eine hybride Situation in meinen Händen. Ich schreibe eine Intranet ASP.NET -Web -App. Ich möchte keine vollständige Windows -Authentifizierung verwenden, da ich in Active Directory keine richtigen Gruppen einrichten habe, um Benutzer einfach basierend auf der Gruppe, in der sie sich befinden, authentifizieren zu können. Bis jetzt hatte ich eine Mitgliedsdatenbank erstellt und authentifizierte Benutzer manuell anhand ihres NT -Login. Die App wird komplexer und ich möchte die Mitgliedschafts- und Rollenanbieter verwenden, um Benutzer zu authentifizieren. Hier ist mein Problem: Ich möchte in der Lage sein, Benutzer nur basierend auf ihrem NT zu authentifizieren, aber ich möchte keine Windows -Authentifizierung verwenden. Ich möchte meinen eigenen Anbieter schreiben, um die Mitgliedschafts- und Rollenanbieter zu schließen und die Authentifizierung von Formularen zu verwenden, sie jedoch transparent zu machen. Basierend auf einer Benutzertabelle möchte ich den Benutzer authentifizieren oder basierend auf seinem NT allein umleiten. Ist das möglich oder schreibe ich fest, dass ich meinen eigenen kleinen Rahmen schreibe, um dies zu erreichen? Ich möchte den Anbieter -Framework so nutzen, wenn möglich.

War es hilfreich?

Lösung

Legen Sie Ihre Web.config so ein, dass Sie Formulare Authentifizierung verwenden.
Stellen Sie sicher, dass die integrierte Authentifizierung in IIS eingeschaltet ist (Sie müssen möglicherweise auch anonym deaktivieren). Auf diese Weise können Sie den NT -Namen des Benutzers erhalten.

Sie können den NT -Namen des Benutzers mit:

  Request.ServerVariables["LOGON_USER"]  

Sie können den Benutzer in keinem Kennwort protokollieren, mit:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top