none
Suche simples ASP.NET Login Beispiel + Redirect auf geschütze Seite RRS feed

  • Frage

  • Hallo!

    Erstmal vorab: Ich weiß, es gibt eine Menge Tutorials etc., die sich auf Login beziehen. Wenn man mal sucht, findet man da jede Menge.

    Was ich allerdings nirgends gefunden habe, ist ein gaaanz simples Beispiel, bei dem der Benutzer einfach nach erfolgreichem Login auf eine (für nicht-Eingeloggte unerrichbare) Seite geleitet wird.
    Die Beispiele, die ich gefunden habe, waren entweder Murks, extrem aufgebläht, oder erläuterten nur das Login Steuerelement und sonst nichts weiter.

    Ich habe dann einfach mal ein bisschen rumprobiert: Eine leere ASP.NET Web Anwendung erstellt, eine WebForm "LoggedIn.aspx", eine "Login.aspx" hinzugefügt und der WebForm wiederum ein Login Steuerelement.

    So habe ich dann die folgenden Events implementiert:

    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        if (Login1.UserName == "test" && Login1.Password == "TEST")
            e.Authenticated = true;
    }

    protected void Login1_LoggedIn(object sender, EventArgs e)
    {
        Response.Redirect("LoggedIn.aspx");
    }

     

    Klappt auch wunderbar, wenn ich mich mit test/TEST einlogge, werde ich auf LoggedIn.apsx weitergeletet.
    Problem ist aber: Wenn ich mich nicht einlogge, sondern einfach in der Adressleiste Login.aspx durch LoggedIn.aspx ersetze, komme ich auch auf die Seite. Also kurz gesagt: Was muss ich machen, um die Seite zu schützen, so dass sie nur erreichbar ist, wenn ich mich vorher korrekt eingeloggt habe?

    Wie gesagt: Ich suche ein möglichst simples Beispiel. Also wenns geht ohne SQL Server oder aufwendige Rollen-Konfiguration (falls das überhaupt möglich ist. Ich muss dazu sagen, ich bin absoluter ASP.NET Neuling).

    Schon mal vorab vielen Dank :)

    • Bearbeitet Martin_78 Dienstag, 31. August 2010 17:49 Die Code-Formatierung will irgendwie nicht so wie ich...
    Dienstag, 31. August 2010 17:44

Antworten

  • Hallo Martin,

    dein Vorhaben sollte sich relativ einfach per web.config lösen lassen, hier kannst du nämlich genau bestimmern welche Nutzer oder Gruppen auf welche Inhalte zugreifen dürfen.

    Weitere infos unter

    deny-Element zur Autorisierung (ASP.NET-Einstellungsschema)
    http://msdn.microsoft.com/de-de/library/8aeskccd.aspx


    MfG, Sebastian Gross
    • Als Antwort markiert Martin_78 Mittwoch, 1. September 2010 15:05
    Mittwoch, 1. September 2010 07:31

Alle Antworten

  • Hallo Martin,

    dein Vorhaben sollte sich relativ einfach per web.config lösen lassen, hier kannst du nämlich genau bestimmern welche Nutzer oder Gruppen auf welche Inhalte zugreifen dürfen.

    Weitere infos unter

    deny-Element zur Autorisierung (ASP.NET-Einstellungsschema)
    http://msdn.microsoft.com/de-de/library/8aeskccd.aspx


    MfG, Sebastian Gross
    • Als Antwort markiert Martin_78 Mittwoch, 1. September 2010 15:05
    Mittwoch, 1. September 2010 07:31
  • hallo Sebastian,

    vielen Dank. Ich hab in meine web.config Folgendes eingefügt:

    <configuration>
     <system.web>
      <authorization>
       <deny users="?"/>
      </authorization>
     </system.web>
    </configuration>
    
    
    Dies führt dann dazu, dass alle unbekannten Benutzer verweigert und auf die Login Seite geleitet werden. Also genau das, was ich wollte ;) Danke.

    Mittwoch, 1. September 2010 15:05