2008-11-25 8 views
14

Wie würde ich verschiedene Authentifizierungs-Tags für verschiedene Teile meiner Web-App festlegen? Sagen, ich habe:Mehrere/verschiedene Authentifizierungseinstellungen in web.config

/ 
/folder1/ 
/folder2/ 

Wäre es möglich, verschiedene <authentication/>-Tags für jeden Ordner angeben?

Ich möchte, dass Ordner1 die Windows-Authentifizierung verwendet, aber Ordner2 die Formularauthentifizierung verwendet.

Ich habe versucht, in einem <location/> Tag tun, aber es sieht nicht wie Sie <authentication/> Tags in einem <location/> Tags, zumindest nicht über VS 2008 mit ihm integriert ist Webserver haben.

Dieser Fehler wird ausgegeben - Fehler 3 Es ist ein Fehler, einen Abschnitt zu verwenden, der als allowDefinition = 'MachineToApplication' über die Anwendungsebene hinaus registriert wurde. Dieser Fehler kann durch ein virtuelles Verzeichnis verursacht werden, das nicht als Anwendung in IIS konfiguriert ist.

<location path="/folder1"> 
    <system.web> 
     <authentication mode="Forms" /> 
     <authorization> 
     <deny users="?"/> 
     </authorization> 
    </system.web> 
    </location> 

Antwort

11

Sie können nur <authentication /> auf der obersten Ebene web.config haben. Möglicherweise müssen Sie mehrere Anwendungen erstellen. Dh Sie können eine Anwendung innerhalb einer Anwendung erstellen und jeweils unterschiedliche Authentifizierungsmodi verwenden.

0

ich glaube, Sie die Formularauthentifizierungsberechtigung auf folder1 zu

<allow users="*" /> 

dann die Zugangsfenster über die Einstellung Fenster Berechtigungen für den Ordner steuern festlegen.

Ich habe es nicht versucht, aber ich kann mir nicht vorstellen, warum das nicht funktionieren würde.

1

Diese Einstellungen sind nur auf der Stammebene Ihrer ASP.Net-Anwendung gültig. Um verschiedene Einstellungen in einem Unterordner zu verwenden, müssen Sie IIS aufrufen und diesen Unterordner als neue Anwendung festlegen.

Sobald Sie dies getan haben, wird der Ordner ein anderes Symbol im IIs-Manager haben. Erstellen Sie in Ihrem Unterordner eine neue web.config-Datei und fügen Sie dort die neuen Authentifizierungseinstellungen hinzu.

Weitere Informationen unter Creating Applications.

+0

Richtig, aber es scheint wie in VS2008 Debugger, kann diese Unterordner nicht als Anwendungsordner behandeln, muss ich testen, indem Sie auf einen IIS-Server –

+0

Wenn Sie den integrierten Visual Studio-Webserver dann verwenden Ja, Sie haben Recht, Sie müssen die Anwendung in IIS einrichten. –