Sie müssen das Element <location>
in Ihrer web.config verwenden. Sie können das Tag <location>
verwenden, um Autorisierungseinstellungen auf eine einzelne Datei oder ein einzelnes Verzeichnis anzuwenden.
<location path="/root">
<system.web>
<authentication mode="Forms" >
<forms name="LoginForm" defaultUrl="default.aspx"
loginUrl="/root/login.aspx" protection="Encryption"
timeout="30" path="/"/>
</authentication>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="/root/admin">
<system.web>
<authentication mode="Forms" >
<forms name="formName" defaultUrl="login.aspx"
loginUrl="/root/admin/login.aspx" protection="Encryption"
timeout="30" path="/"/>
</authentication>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
MSDN
Für die zentrale Verwaltung, Einstellungen können in der Machine.config-Datei angewendet werden. Die Einstellungen in der Datei der Datei Machine.config definieren maschinenweite Richtlinie und können auch verwendet werden, um anwendungsspezifische Konfiguration unter Verwendung <location>
Elemente anzuwenden. Entwickler können Anwendungskonfigurationsdateien übersteuern Aspekte der Maschinenrichtlinie. Für ASP.NET-Webanwendungen befindet sich eine Web.config-Datei im virtuellen Stammverzeichnis der Anwendung und optional in den Unterverzeichnissen unterhalb des virtuellen Stammverzeichnisses.
Wenn Sie 1 Login-Standort und verschiedene Zugriffsebenen möchten, können Sie roles verwenden.
<location path="/root">
<system.web>
<authorization>
<allow roles="admin,root" />/*admin, root is allowed */
<deny users="*" />
</authorization>
<system.web>
</location>
<location path="/root/admin">
<system.web>
<authorization>
<allow roles="admin" />/*admin is allowed */
<deny users="*" />
</authorization>
<system.web>
</location>
Benutzer können auf mehr als eine Rolle gehören. Wenn Ihre Site beispielsweise ein Diskussionsforum ist, können einige Benutzer in der Rolle der Mitglieder und Moderatoren sein. Sie könnten jede Rolle mit unterschiedlichen Berechtigungen für die Site definieren, und ein Benutzer, der sich in beiden Rollen befindet, hätte dann beide Sätze von Berechtigungen.
können Sie alle Zugriff auf diese Elemente auf die Code-Ebene, wenn Sie möchten die Rollen manipulieren/Authentifizierung programmatisch
Page.User.Identity.Name
Page.User.Identity.IsAuthenticated
Page.User.Identity.AuthenticationType
Page.User.IsInRole("string");
Weitere Links
Using 2 Membership Providers in asp.net
4 Guys From Rolla Tutorial
The ASP.NET web.config File Demystified
Haben Sie zwei verschiedene URLs oder Abfragezeichenfolgen, um den Benutzer zunächst auf die richtige Anmeldeseite zu bringen? – cgreeno