57 messaggi dal 15 aprile 2009
Ciao a tutti

Ho una LoginView su pagina Master che mi gestisce gli accessi al sito web

Quando però accedo da una pagina ove presente l'url rewriting mi da questo errore

Cannot use a leading  to exit above the top directory

Description: An unhandled exception occurred during the execution of the current web request Please review the stack trace for more information about the error and where it originated in the code 

Exception Details: SystemWebHttpException: Cannot use a leading  to exit above the top directory

Source Error: 

An unhandled exception was generated during the execution of the current web request Information regarding the origin and location of the exception can be identified using the exception stack trace below

Stack Trace: 


[HttpException (0x80004005): Cannot use a leading  to exit above the top directory]
   SystemWebUtilUrlPathReduceVirtualPath(String path) +6158414
   SystemWebUtilUrlPathReduce(String path) +128
   SystemWebHttpResponseApplyAppPathModifier(String virtualPath) +187
   SystemWebHttpResponseRedirect(String url, Boolean endResponse) +153
   SystemWebUIWebControlsLoginOnBubbleEvent(Object source, EventArgs e) +149
   SystemWebUIControlRaiseBubbleEvent(Object source, EventArgs args) +50
   SystemWebUIPageRaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +39
   SystemWebUIPageProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3215


Non riesco a capire dove sia l'errore, in pratica non mi fa il redirect alla pagina Home

Cmq se elimino la proprietà del Login DestinationPageUrl sembra funzionare facendo dopo il login il redirect sulla medesima pagina della richiesta ma se mi loggo dalla HomePage allora mi fa il redirect a una fantomatica pagina defaultaspx che non è presente sul sito

Qualcuno ha qualche idea?

Il rewriting che uso è l'intelligencia.

Dimenticavo: in locale con IIS 7.0 funziona, mentre sul server win2003 con IIS 6.0 no.
Modificato da LordYayo il 17 settembre 2010 08.29 -
L'errore indica che stai facendo riferimento ad un percorso che va oltre la directory di root. Nella stragrande maggioranza dei casi, li problema deriva dall'utilizzo di ".." all'interno del percorso.
Non conosco il modulo che hai citato, ma per caso utilizzi i Themes di ASP.NET?

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
57 messaggi dal 15 aprile 2009
allora il percorso che uso per il redirect è: ~/Home.aspx

Si utilizzo i Themes...

Il modulo lo trovi qui: http://urlrewriter.net/

Quindi cosa potrei fare per ovviare?
Come ti ho detto, non conosco il modulo che hai citato.
Comunque, giusto per fare una prova, puoi rimuovere il carattere ~ dal valore che hai assegnato per la proprietà DestinationPageUrl?
Quindi, lasciare solo "/Home.aspx".
Lo so, è una prova un pò "da cialtroni", ma è giusto per avere una conferma su quella che penso sia la causa del problema.
Fammi sapere.

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
57 messaggi dal 15 aprile 2009
Mettendo solo /Home.aspx mi da:

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Home.aspx


Questo perchè la pagina è dentro la cartella Catalogo/ e quindi rimane in questa cartella ove non è presente la pagina Home.aspx

Mentre se metto ../../Home.aspx seguendo l'url riscritto che è del tipo Catalogo/Pag1/TipoProdotto.aspx mi ritorna il problema del primo post.

Ora provo con solo ../Home.aspx riferendomi all'url reale e vedo cosa succede.

Ti dico anche che eliminando la proprietà destinationPageUrl mi ritorna sulla medesima pagina in cui faccio login ma mi sbaglia alcuni riferimenti ad immagini e l'url è quello normale senza rewriting ma tutto sommato funziona...
57 messaggi dal 15 aprile 2009
Aggiornamento:

Mettendo ../Home.aspx sulla pagina generale dei prodotti che è situata nella cartella Catalogo mi da l'errore di cui sopra. Mentre nella pagina dei dettagli prodotto situata nella cartella Dettaglio mi da l'errore del primo post.

Non riesco più a capirci gran che.
2.198 messaggi dal 30 novembre 2001
io utilizzo quel modulo e funziona correttamente sia con IIS 6.0 che con 7.0, posta un pò di codice del web.config
57 messaggi dal 15 aprile 2009
Ecco qui:

<?xml version="1.0"?>
<!-- 
    Nota: come alternativa alla modifica manuale del file, è possibile utilizzare lo 
    strumento di amministrazione Web per configurare le impostazioni dell'applicazione. Utilizzare il comando 
    Configurazione ASP.NET del menu Sito Web di Visual Studio.
    Un elenco completo di impostazioni e commenti è disponibile nel file 
    machine.config.comments che si trova in genere in 
    \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>
  <configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
        <section name="rewriter" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
  </configSections>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
    <!-- 
            Impostare compilation debug="true" per inserire i 
            simboli di debug nella pagina compilata. Poiché tale operazione ha effetto 
            sulle prestazioni, impostare questo valore su true 
            solo durante lo sviluppo.

            Opzioni di Visual Basic:
            Impostare strict="true" per impedire qualsiasi conversione di tipi di dati 
            in caso di possibile perdita di dati. 
            Impostare explicit="true" per imporre la dichiarazione di tutte le variabili.
        -->
    <compilation debug="true" strict="false" explicit="true">
      <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
    </compilation>
    <pages theme="One">
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Generic"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Linq"/>
        <add namespace="System.Xml.Linq"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </controls>
    </pages>
    <!--
            La sezione <authentication> consente di configurare 
            la modalità di autenticazione della sicurezza utilizzata da 
            ASP.NET per identificare un utente in ingresso. 
        -->
    <authentication mode="Forms">
      <forms name=".ASPXAUTH" protection="All" timeout="999999" path="/" cookieless="UseCookies" />
    </authentication>
    <roleManager enabled="true">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" connectionStringName="ConnectionString" applicationName="/SampleRolesApp" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </roleManager>
    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" connectionStringName="ConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/SamplesRolesApp" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" passwordAttemptWindow="10" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </membership>
    <customErrors mode="Off"/>
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
      <add verb="*" path="OboutInc.UploadProgressHandler.aspx" type="OboutInc.FileUpload.UploadProgressHandler, obout_FileUpload, Version=1.10.806.1, Culture=neutral, PublicKeyToken=c8b4009f4d53d5e5"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="OboutUploadModule" type="OboutInc.FileUpload.UploadProgressModule, obout_FileUpload, Version=1.10.806.1, Culture=neutral, PublicKeyToken=c8b4009f4d53d5e5"/>
            <add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
    </httpModules>
  </system.web>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="OptionInfer" value="true"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>
  <location path="Admin">
    <system.web>
      <authorization>
        <allow roles="amministratore"/>
        <deny users="*"/>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
  <location path="Carrello">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
    <location path="User">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
    </location>
  <!-- 
        La sezione system.webServer è richiesta per eseguire ASP.NET AJAX in Internet
        Information Services 7.0. Non è necessaria per la versione precedente di IIS.
    -->
  <system.webServer>
    <validation validateIntegratedModeConfiguration="true"/>
    <modules>
      <remove name="ScriptModule"/>
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
  </system.webServer>
    <rewriter>
        <if url="~/Catalogo/Pag(.+)/(.+).aspx">
            <rewrite to="~/Catalogo/Prodotti.aspx?sm=$2&amp;Pag=$1" />
        </if>
        <if url="~/Dettaglio/(.+)/(.+)/(.+).aspx">
            <rewrite to="~/Dettaglio/Dettaglio.aspx?sm=$1&amp;type=$2&amp;desc=$3" />
        </if>
        <if url="~/Marca/Pag(.+)/(.+).aspx">
            <rewrite to="~/Marca/Lista.aspx?marche=$2&amp;Pag=$1" />
        </if>
        <if url="~/News/(.+)/(.+).aspx">
            <rewrite to="~/News/News.aspx?NewsID=$1&amp;title=$2" />
        </if>
    </rewriter>
  <runtime>
    <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
    </runtime>
</configuration>


Cmq in locale funzica, mentre su server no (IIS 6.0)...
Modificato da LordYayo il 20 settembre 2010 10.44 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.