Siento que he hecho esto una tonelada de veces, pero no puedo por la vida de averiguar qué está pasando mal.ASP.NET - Response.Redirect Not Populating Url Referrer
Default.aspx:
protected void Page_Load(object sender, EventArgs e)
{
var r1 = Request.UrlReferrer; // null
var r2 = Request.ServerVariables["HTTP_REFERRER"]; // null
}
SingleSignOn.aspx:
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("/");
}
si escribo "/SingleSignOn.aspx" en la URL, redirecciona a Default.aspx, pero el referente es nulo.
¿Qué es lo que falta aquí?
Lo que estoy tratando de hacer (esto es un ejemplo simplificado), es en cualquier página, voy a tener algo de JavaScript para hacer lo siguiente:
window.location.replace('~/SingleSignOn.aspx');
cual, lo has adivinado, firma el usuario en, y redirige a la página de inicio.
Pero necesito construir lógica en ese JavaScript para no redirigir a la página SingleSignOn.aspx si acabamos de llegar de allí.
¿El referente solo se llena con los clics reales del usuario del enlace?
¿Cómo puedo hacer esto? No quiero usar QueryString porque no quiero ver eso en la URL.
La única otra opción que puedo pensar es Session.
Por favor ayuda. = (
Es curioso saber por qué estás redireccionando java-script. El escenario que describes, lo habría comprobado por el lado del servidor (probablemente en el inicio de la página base) si el usuario está autenticado o no. De lo contrario, redirige al página que lo hace. – VinayC
@VinayC - es complicado.Básicamente estoy trabajando en una aplicación de Facebook Connect: una vez cargada la página, javascript me permite saber que puedo iniciar sesión y, por lo tanto, redirijo. No sé si puedo firmarlos hasta que se ejecuten las API del lado del cliente. – RPM1984
Bueno, puedes agregar tu propia cookie cuando el usuario está autenticado y luego desde javacript, puedes ver si la cookie existe o no para decidir si redirigir o no. Si no desea utilizar cookies, entonces sus páginas (deben hacerse en la página base) tiene que establecer alguna variable JS si el usuario está autenticado. La diferencia entre el enfoque de cookies es que la cookie debe establecerse solo una vez (en SingleSignOn.aspx), mientras que la variable js debe establecerse en cada página (por lo tanto, la lógica debe colocarse en una página base común). – VinayC