Je me sens comme je l'ai fait une tonne de fois, mais je ne peux pas pour la vie de moi comprendre ce qui ne va pas.ASP.NET - Response.Redirect pas de remplissage 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 je tape "/SingleSignOn.aspx" dans l'URL, il redirige vers Default.aspx, mais le référent est nul.
Que manque-t-il ici?
Que im essayant de faire (ce qui est un exemple simplifié), est sur une page, je vais avoir un peu de JavaScript pour effectuer les opérations suivantes:
window.location.replace('~/SingleSignOn.aspx');
Ce qui, vous l'aurez deviné, signe l'utilisateur, et redirige vers la page d'accueil.
Mais j'ai besoin de construire la logique dans ce JavaScript pour ne pas rediriger vers la page SingleSignOn.aspx si nous venons juste de là.
Le référent est-il uniquement rempli par des clics réels de l'utilisateur de lien?
Comment puis-je faire cela? Je ne veux pas utiliser QueryString car je ne veux pas le voir dans l'URL.
La seule autre option que je peux penser est Session.
Aidez-nous s'il vous plaît. = (
Curieux de savoir pourquoi vous redirigez java-script Le scénario que vous décrivez, je l'aurais vérifié côté serveur (probablement sur OnInit de la page de base) si l'utilisateur est authentifié ou non. page qui le fait. – VinayC
@VinayC - c'est compliqué.Fondamentalement, je travaille sur une application Facebook Connect - après le chargement de la page, javascript me permet de savoir que je suis en mesure de les signer, d'où je redirige. Je ne sais pas si je peux les signer jusqu'à ce que les API côté client soient exécutées. – RPM1984
Eh bien, vous pouvez ajouter votre propre cookie lorsque l'utilisateur est authentifié, puis à partir de javacript, vous pouvez voir si le cookie existe ou non pour décider de rediriger ou non. Si vous ne souhaitez pas utiliser de cookie, alors vos pages (ce qui devrait être fait dans la page de base) doivent définir une variable JS si l'utilisateur est authentifié. La différence entre les cookies est que le cookie ne doit être défini qu'une seule fois (dans SingleSignOn.aspx) alors que la variable js doit être définie dans chaque page (la logique doit donc être placée dans une page de base commune). – VinayC