Comment remplacer / modifier FormsAuthentication LoginUrl dans certains cas

Est-il un moyen de modifier dynamiquement le LoginUrl de FormsAuthentication? Ce que j'ai est l'ensemble du site protégés par FormsAuth, mais pour certaines pages dans un sous dossier, je tiens à le prendre à l'utilisateur de différentes page de connexion, et ont FormsAuth poignée de la ReturnUrl choses. Est-ce possible ou dois-je écrire mon propre code de redirection pour le sous-dossier?

Voici un exemple de mise en page:

   ~/LogOn1.aspx
   ~/Protected1.aspx
   ~/Protected2.aspx
   ~/Subfolder/
   ~/Subfolder/LogOn2.aspx
   ~/Subfolder/NotProtected.aspx
   ~/Subfolder/Protected3.aspx

Donc mon web.config ressemble:

 <forms loginUrl="~/Splash.aspx" ... />

Toutes les Protégés*.pages aspx ont

 <deny users="?">

Ce que je voudrais, toutefois, est de ~/sous-dossier/Protected3.aspx pour être redirigé vers ~/sous-dossier/LogOn2.aspx si l'utilisateur est anonyme.

J'ai essayer de mettre une version allégée du web.config ~/sous-dossier/web.config:

<?xml version="1.0"?>
<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms loginUrl="~/Subfolder/LogOn.aspx" name="SiteAuth" protection="All" timeout="30" path="/" defaultUrl="~/Subfolder/default.aspx" requireSSL="true" cookieless="UseCookies" enableCrossAppRedirects="false" />
      </authentication>
      <authorization>
         <deny users="?" />
      </authorization>
   </system.web>
</configuration>

Mais tout ce qui est moi est cette erreur:

C'est une erreur d'utiliser une section
enregistré comme
allowDefinition='MachineToApplication'
au-delà du niveau d'application. Cette erreur
peut être causée par un répertoire virtuel
ne pas être configuré comme une application
dans IIS.

Je pense faire le sous-dossier dir, une application causer encore plus de problèmes à ce point, mais peut-être que je me trompe. Si c'était une demande, ne serait-ce pas séparé de tout le code dans ~/sous-dossier du reste de l'application parente?

source d'informationauteur slolife