Verzeichnisse per ASP.NET FormsAuthentication in 60 Sekunden schützen

Inspiriert durch einen Thread auf www.aspnetzone.de soll dieser Beitrag zeigen, wie schnell sich eine Web-Applikation oder nur ein einfaches Verzeichnis per FormsAuthentication schützen lässt.

Zunächst ist es nötig die Web.Config anzupassen. In diesem Beispiel soll das Verzeichnis Secure geschützt werden. Weiter wird eingestellt das Session-Cookies verwendet werden dürfen und diese noch für 120 Minuten nach der letzten Aktion gültig sein sollen.

<authentication mode="Forms">
  <forms
      cookieless="UseCookies"
      defaultUrl="~/Secure/SecureSite.aspx"
      loginUrl="~/default.aspx"
      timeout="120">
  </forms>
</authentication>

Nun müssen für das Verzeichnis die Berechtigungen gesetzt werden. Dies erfolgt über den Location Node unter Angabe des Verzeichnisnamens. Mit Hilfe der Angabe deny wird angegeben das nur bekannte- also autorisierten User - Zugriff erhalten sollen.

<location path="Secure">
  <system.web>
    <authorization>
      <deny users="?"/>
    authorization>
  </system.web>
</location>

FormsAuthentication.RedirectFromLoginPage() an, die nach dem setzen des Session-Cookies eine Redirect auf die angeforderte Seite des Users durchführt.

protected void btt_Click(object sender, EventArgs e)
{
    FormsAuthentication.RedirectFromLoginPage("TestUser", false);
}

Nachdem diese Schritte durchgeführt wurden, ist die Einrichtung bereits abgeschlossen und das Web oder Verzeichnis gesichert.
Jürgen hat in seinem Weblog eine weitere Möglichkeit aufgezeigt, wie sich ein Web vor fremden Zugriffen schützen lässt.

Das Beispielprojekt zu diesem Beitrag findet sich hier.

  1. No Comments