Bewährte Methode, um alle Benutzer für nur eine Seite zu autorisieren


1

Was ist der beste Weg, um alle Benutzer auf eine einzige Seite in einer asp.net-Website zu autorisieren.

Mit Ausnahme der Login-Seite und einer anderen Seite, verbiete ich allen Benutzern, Seiten auf der Website anzuzeigen.

Wie machen Sie diese Seite für alle Benutzer zugänglich?

5

Ich habe die Formularauthentifizierung verwendet und die erforderlichen GenericIdentity- und CustomPrincipal-Objekte erstellt, mit denen ich die Funktionen vom Typ User.IsInRole nutzen kann, die Sie normalerweise nur mit der Windows-Authentifizierung erhalten.

diese Weise in meine web.config-Datei, kann ich solche Sachen tun ...

<location path="Login.aspx"> 
    <system.web> 
     <authorization> 
     <allow users ="*" /> 
     </authorization> 
    </system.web> 
</location> 

<location path="ManagementFolder"> 
    <system.web> 
     <authorization> 
     <allow roles ="Administrator, Manager" /> 
     </authorization> 
    </system.web> 
</location> 

-1

ich eine Basis „Seite“ Klasse geschaffen, die diese Art von Dingen umgeht. Alle meine Seiten können dann mit dem Attribut RequiresLogin versehen werden, wenn eine Anmeldung erforderlich ist, um sie anzuzeigen. Wenn das Attribut nicht vorhanden ist, ist die Seite für alle zugänglich.

Beispiel:

<RequiresLogin()> _ 
<RequiresPermission("process")> _ 
Partial Class DesignReviewEditProgressPage 
    Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself 

    ... 
End Class 

Die MyPage Klasse prüft, welche Attribute selbst markiert werden, und wenn RequiresLogin vorhanden ist, leitet er sie auf eine Anmeldeseite.

Ich glaube, dass dies an Ihr eigenes Problem angepasst werden könnte.

+2

Leute, die downvote sollten verpflichtet sein, den Grund zu schreiben !! 25 sep. 092009-09-25 23:37:07