Frage

Was ist der beste Weg, um zu autorisieren, alle Benutzer auf einer einzigen Seite in einer asp.net website.

Denn außer der login-Seite und einer anderen Seite, ich leugne Sie alle Benutzer anzeigen von Seiten in der website.

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

War es hilfreich?

Lösung

Ich habe die Formularauthentifizierung und die Schaffung der notwendigen GenericIdentity und CustomPrincipal Objekte, die mir ermöglicht die Nutzung der User.IsInRole geben Sie die Funktionen, die Sie normalerweise nur mit Windows-Authentifizierung.

So in meinem web.config Datei kann ich tun Sachen wie...

<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>

Andere Tipps

Erstellt habe ich ein base - "Seite" - Klasse, die Griffe, die Art der Sache.Alle meine Seiten können dann eingerichtet werden, die mit den RequiresLogin Attribut, wenn ein login ist erforderlich, um Sie anzusehen.Wenn das Attribut nicht vorhanden ist, wird die Seite für alle zugänglich ist.

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 überprüft, was Attribute sind mit einer Markierung versehen auf sich selbst und wenn RequiresLogin vorhanden ist, leitet es Sie zu einer login-Seite.

Ich glaube, dies könnte angepasst werden, um fit Ihre eigenen problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top