Hola gente!
Andres, lo que alguna vez me paso es:
- El sitio esta configurado para que todos los usuarios esten
logueados, no se permite acceso anonimo
- La pagina de Login tiene el render de una action (con
Html.ActionLink como pusiste) pero esa accion tiene un atributo de
autorizacion por rol
- No se renderea la pagina de Login, sino que la aplicacion dice
hmmm.. ni siquiera le quiero hacer el render de esa accion, par aver ese
link NECESITA estar autenticado con el rol correcto
- Entonces, MVC decide: redireccionar
.. a la PAGINA DE LOGIN ;-)
Primera prueba, para confirmer esto:
- Quitar de la pagina de login ese ActionLink (o hacer que la pagina
de login use una MasterPage mas simple (eso es lo que pasaba en el ejemplo
de arriba, el ActionLink estaba en la master page))
Si la pagina de Login comienza a funcionar, y segun tu especificacion se
necesita que esa accion sea publica, agregar en el web.config que ese enlace
es public,
<location path="FonoEmergencia/asasdas">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Y volveria a poner esa actionlink en tu pagina de login.
Funciono?
Nos leemos!
Angel Java Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez
From: [email protected] [mailto:[email protected]] On Behalf Of Andres
Guzman
Sent: Wednesday, February 02, 2011 1:32 PM
To: [email protected]
Subject: [puntonet] Consulta MVC login
Hola carlos, te envio los datos que me solicitas:
la Url de login es http://localhost/Login/
Como estructura tengo
Contolador; Controllers/LoginController
Vista: Views/Login/Index.aspx
y si configure asi el web config para que todo usuario se tenga que
autenticar para que pueda navegar por el sitio
y finalmente a que te refieres a que "la solucion es que, si deseas bloquear
el acceso al sitio a usuarios no autenticados, implementes el codigo de
autenticacion." (Esto seria sin configurar el web.config y validar mediante
codigo solamente.)
Desde ya muchas gracias por u ayuda.
El 2 de febrero de 2011 13:17, Carlos Peix <[email protected]>
escribió:
Hola Andres,
Faltaria que indiques cual es el URL de la pagina en la que tenes este
codigo pero ya veo que tenes algo mal configurado en tu archivo Web.config
Esta seccion en el web.config...
<authorization>
<deny users="?"/>
</authorization>
...indica que estas bloqueando el acceso a TODAS las paginas de tu sitio
para usuarios no autenticados. Eso hace que .NET no te deje acceder otros
URLs que no sean los de login. Cual es el URL de login?
El que indicas en esta seccion:
<authentication mode="Forms">
<forms timeout="2880" loginUrl="~/Login"></forms>
</authentication>
Es muy probable que el URL de la pagina en que tenes este codigo es
justamente ~/Login, al hacer click en el link, seguramente ejecuta la accion
pero te devuelve a la misma pagina ya que no estas autenticado.
La solucion es que, si deseas bloquear el acceso al sitio a usuarios no
autenticados, implementes el codigo de autenticacion.
Otro punto que me extraña es que el URL de login que indicas en tu ejemplo
no se parece a un URL de MVC, pero eso es otro tema.
----------------------------------
Carlos Peix
2011/2/2 Andres Guzman <[email protected]>
no desencadena la accion "FonoEmergencia", es decir nunca ejecuta la acción,
en cambio si comento las lineas del web.config la acción se ejecuta sin
problemas.
El 1 de febrero de 2011 22:07, Carlos Peix <[email protected]>
escribió:
Hola Andres,
Podrias dar mas datos? que significa que no funciona?
----------------------------------
Carlos Peix
2011/2/1 Andres Guzman <[email protected]>
Estimados.
Juntos con saludarlos acudo a uds. por lo siguinete. Mi duda es por que
estos controles no funcionan en mi página de login.
<%= Html.ActionLink("Fono Emergencia", "FonoEmergencia", new { @class =
"link"}) %>
Me imagino que es por que como no me eh logeado no me deja direccionar a
otra vista que es lo que hace la accion = FonoEmergencia.
Asi es como tengo el web.config
<authentication mode="Forms">
<forms timeout="2880" loginUrl="~/Login"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
Existe alguna forma de poder utilizar este control en la página login.
Desde ya muchas gracias.
--
Andrés Guzmán
099319111
[email protected]
--
Andrés Guzmán
099319111
[email protected]
--
Andrés Guzmán
099319111
[email protected]