none
Autorizar acceso a la URL raíz (documento por defecto) RRS feed

  • Pregunta

  • Gracias por vuestra atención anticipadamente.

    Mi problema es el siguiente:

    He desplegado una aplicación ASP.NET con modo de autenticación tipo 'forms' y he establecido el documento por defecto en el IIS: default.aspx.

    El problema es que cuando pongo la URL raíz en el navegador, me redirecciona a la pantalla de login como si no la reconociera autorizada. Hay varias páginas que tengo autorizadas en el web.config (por ejemplo la propia 'default.aspx':

        <location path="default.aspx">
            <system.web>
                <authorization>
                    <allow users="*"/>
                </authorization>
            </system.web>
        </location>

    Si en el navegador pongo la URL raiz (para que cargue el documento por defecto): http://dominio/aplicacion/

    Directamente me redirecciona a la de login: http://dominio/aplicacion/login.aspx?ReturnUrl=%2faplicacion%2f

    ¿Cómo podría solucionar esto (sin quitar la opción de tener un documento por defecto)?

    Gracias.

    Saludos.

    martes, 12 de mayo de 2015 12:57

Respuestas

  • En el Global.Asax agrega lo siguiente (lo pongo en C# ya que no especificas el lenguaje usado)

    protected  void Application_BeginRequest(object sender,EventArgs e)
    {
    	if (Request.AppRelativeCurrentExecutionFilePath == "~/")  HttpContext.Current.RewritePath("default.aspx");
    }


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    martes, 12 de mayo de 2015 16:01
    Moderador

Todas las respuestas

  • Puedes poner la parte de tu web.config donde especificas la autenticacion forms?

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 12 de mayo de 2015 13:32
    Moderador
  • Has habilitado la autenticación anónima en tu sitio web?

    También te recomiendo pruebes esta configuración de web.config

    <configuration>
        <system.web>
            <authentication mode="Forms" >
                <forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" >
                </forms>
            </authentication>
             <!-- Denegar el acceso a todos los archivos de la aplicación excepto a aquellos especificados despues -->
            <authorization>
                <deny users="?" /> 
            </authorization>
        </system.web>
    
    	<location path="default.aspx">
    		<system.web>
    			<authorization>
    				<allow users="*"/>
    			</authorization>
    		</system.web>
    	</location>
    </configuration>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    martes, 12 de mayo de 2015 13:37
    Moderador
  • Hola. Pego la parte de autenticación del web.config:

            <authentication mode="Forms">
                <forms loginUrl="~/login.aspx" defaultUrl="~/default.aspx"/>
            </authentication>
            <authorization>
                <deny users="?"/>
            </authorization>

    y después varias autorizaciones como ésta:

        <location path="default.aspx">
            <system.web>
                <authorization>
                    <allow users="*"/>
                </authorization>
            </system.web>
        </location>

    Gracias por tu atención.

    martes, 12 de mayo de 2015 13:59
  • No entiendo tu respuesta... me preguntas si pegas la configuración? en ese caso si

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 12 de mayo de 2015 14:04
    Moderador
  • Hola. Me comentabas lo siguiente: "Puedes poner la parte de tu web.config donde especificas la autenticacion forms?"

    Y lo que tengo en el web.config es lo que pegué antes:

            <authentication mode="Forms">
                <forms loginUrl="~/login.aspx" defaultUrl="~/default.aspx"/>
            </authentication>
            <authorization>
                <deny users="?"/>
            </authorization>

    y después varias autorizaciones como ésta:

        <location path="default.aspx">
            <system.web>
                <authorization>
                    <allow users="*"/>
                </authorization>
            </system.web>
        </location>

    martes, 12 de mayo de 2015 14:15
  • En el Global.Asax agrega lo siguiente (lo pongo en C# ya que no especificas el lenguaje usado)

    protected  void Application_BeginRequest(object sender,EventArgs e)
    {
    	if (Request.AppRelativeCurrentExecutionFilePath == "~/")  HttpContext.Current.RewritePath("default.aspx");
    }


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    martes, 12 de mayo de 2015 16:01
    Moderador
  • Ok. Gracias!
    miércoles, 13 de mayo de 2015 10:04