Esiste un modo per modificare dinamicamente LoginUrl di FormsAuthentication? Quello che ho è tutto il sito protetto da FormsAuth, ma per alcune pagine in una sottocartella, vorrei portare l'utente a una pagina di login diversa e avere FormsAuth per gestire la roba di ReturnUrl. È possibile o devo scrivere il mio codice di reindirizzamento per i casi di sottocartelle?Come sovrascrivere/modificare FormsAuthentication LoginUrl in alcuni casi
Ecco un esempio di layout:
~/LogOn1.aspx
~/Protected1.aspx
~/Protected2.aspx
~/Subfolder/
~/Subfolder/LogOn2.aspx
~/Subfolder/NotProtected.aspx
~/Subfolder/Protected3.aspx
Quindi il mio web.config assomiglia:
<forms loginUrl="~/Splash.aspx" ... />
Tutte le pagine aspx * protette hanno
<deny users="?">
Cosa Sono d come se, è per ~/Sottocartella/Protected3.aspx da reindirizzare a ~/Sottocartella/LogOn2.aspx se l'utente è anonimo.
ho provato mettendo una versione ridotta del web.config in ~/sottocartella/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>
Ma tutto ciò che mi viene è questo errore:
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
penso rendere la sottocartella dir a un'applicazione potrebbe causare ancora più problemi a questo punto, ma forse ho torto. Se si trattasse di un'applicazione, non separerebbe tutto il codice in ~/Sottocartella dal resto dell'app padre?
Quando si dice dinamicamente, si desidera che solo alcune pagine della sottocartella vengano reindirizzate al loginurl in determinati momenti? O vuoi tutte le pagine in una sottocartella per reindirizzare a un loginurl tutto il tempo? – rahkim
Ho alcune pagine nella sottocartella che consentono l'accesso anonimo, quindi non è necessario reindirizzare. Ma le pagine nella sottocartella che hanno deny = "?" Mi piacerebbe reindirizzato a ~/sottocartella/LogOn.aspx, dove il resto delle pagine protette del sito al di fuori della sottocartella viene reindirizzato a ~/LogOn.aspx. – slolife
Il link è di aiuto? – rahkim