none
Automatisch innerhalb eines Webprojektes einloggen mit Active Directory RRS feed

  • Frage

  • Hi, ich möchte das die Benutzer meines Asp.Net Projektes automatisch angemeldet werden. Also ohne eigene Login Seite. Der am Pc angemeldete Benutzer soll auch gleich automatisch an der Webseite angemeldet werden. Wie mache ich das am besten.

    Auf dem Webserver läuft Windows 2012 und der IIS8.

    Gruss

    Montag, 16. Februar 2015 20:39

Alle Antworten

  • Hallo,

    du kannst es genau so machen wie Microsoft es macht - Cookies setzen!

    Zuerst meldet sih der Benuter einmalig an, damit in der Response auch der Befehl kommt, ein Cookie zu setzen. Diese ist eine eindeutige ID, die bestätigt, das der Benutzer auf diesem Rechner sich anmeldet. 

    Bein weiteren anmelden kannst du einfach den Cookie senden, und der Server überprüft dann, ob er i) gültig ist und ii) nicht abgelaufen ist, und gibt es den zugang in diesem Falle frei. 

    Hier ist eine Beschreibung, wie, in diesem Falle Facebook, die cookies verwendet. Ist nur sehr indirekt eine Beschreibung, aber meiner Meinung nach perfekt zum erkennen: Facebook Session Cookies


    © 2015 Thomas Roskop

    Germany // Deutschland

    Montag, 16. Februar 2015 20:49
  • Hallo Thomas,

    wenn es eine ASP.NET MVC Anwendung werden soll, brauchst Du in der Projektanlage nur "Intranetanwendung" auswählen, da ist alles nötige für die Windows Authentifizierung drin.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 17. Februar 2015 07:23
  • Hi Olaf, danke für deinen guten Tip. Das hat alles soweit geklappt.

    Problem ist jetzt nur das ich bisher Formsauthentication mit einem eigenen Membershipprovider hatte.
    Nach einloggen (Username,Passwort ) schaute ich in meiner SQL Datenbank nach dem Benutzer und holte mir seine entsprechenden Rollen und Rechte.
    Das wollte ich auch weiterhin benutzen. Wie komme ich jetzt aber vom angemeldeten Windowsbenutzer (Domäne\Benutzername) hin zu meiner Benutzerdatenbank . Wie finde ich am besten den Windows Benutzer bei mir wieder?

    Freitag, 20. Februar 2015 11:55
  • Im Controller erhältst Du den über User.Identity.Name

    Siehe auch How to Create an Intranet Site Using ASP.NET MVC


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Freitag, 20. Februar 2015 12:53
  • Hi Olaf, mein Problem ist das über Windows Authentication ich als Name habe Domäne\Benutzername (z.B. Maxmustermann)

    in meinen eigenen Membershipprovider (Eigene Benutzerdatenbank ) habe ich aber als Benutzername für Mustermann z.B. m.musterm drin stehen)

    Freitag, 20. Februar 2015 13:21
  • Da wirst Du Dir die Mühe machen müssen, das um ein Feld für "Domäne\Benutzername" hinzu zu fügen und zu pflegen.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Freitag, 20. Februar 2015 13:35