Laden...

IIS - Forms & Windows Authentication

Erstellt von _daniel_ vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.504 Views
_
_daniel_ Themenstarter:in
227 Beiträge seit 2006
vor 12 Jahren
IIS - Forms & Windows Authentication

Hallo,

ich habe eine Intranet ASP.NET MVC website, bei der einige der Benutzer über Windows Authentifizierung sowie ein Teil der Nutzer über eine User/Passwort Authentifizierung sich anmelden können sollen.

Wie lässt sich das mit dem IIS 7/7.5 am besten bewerkstelligen?
Zwei identische Webseiten mit unterschiedlichen Authenifizierungs-Einstellungen find ich eher sehr suboptimal.

Jemand ne Idee?

16.806 Beiträge seit 2008
vor 12 Jahren

Hi,

Du musst Schnittstellen innerhalb Deiner Applikation erstellen und nutzen, denen es egal ist, woher die User-Informationen kommen, die in Actions etc nutzt. Sprich Du verwendest nicht Dinge wie "this.User".

Für die Authentifizierung selbst:
Du hast ein Usersystem. Alle Windows nutzer erkennst Du automatisch (eigenen Membership + RoleProvider) und gewährst ihnen Zutritt, wenn der Benutzername hinterlegt ist. Ist dieser nicht hinterlegt, so bietest Du ihm an, einen Form-Login zu nutzen.

Biete aber den Windows-Users quasi ein "Logout" an, sodass diese sich bei Bedarf mit einem anderen Account anmelden können.

Eine weitere Alternative wäre auf WindowsAuthentication vollkommen zu verzichten. Das heißt, dass Du nur die Forms nutzt.
Hier bietest Du beim Loginfenster dem User an, dass er wählen kann, ob er die "Integrierte Benutzerverwaltung" nutzen kann, oder das "Active Directory".
Nutzt er zweiteres nimmst Du User und Password um dieses gegen das Active Directory zu prüfen. Ansonsten eben Deine interne Nutzerdatenbank.

(new PrincipalContext).ValidateCredentials("myuser", "mypassword")

Ist dies gültig, so ist der User eingeloggt.

Allgemein finde ich aber die Anleitung auf Two-Level Authentication with Forms Authentication and Windows Authentication ganz gut. Vor allem die Grafik soll zeigen, dass Du quasi zwei verschiedene Türen hast, um ins Haus zu kommen.
Gefunden habe ich zudem auch noch Use Forms Authentication with Active Directory in ASP.NET 2.0

Gruß