私はこれを何度もやったような気がしますが、何が悪いのかを一生理解することはできません。
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("/");
}
URLに「/SingleSignOn.aspx」と入力すると、Default.aspxにリダイレクトされますが、リファラーはnullです。
ここで何が欠けていますか?
私がやろうとしていること(これは単純化された例です)は、どのページでも、次のことを行うためのJavaScriptがあります。
window.location.replace('~/SingleSignOn.aspx');
これは、ご想像のとおり、ユーザーにサインインして、ホームページにリダイレクトします。
しかし、そこから来たばかりの場合、SingleSignOn.aspxページにリダイレクトしないように、そのJavaScriptにロジックを組み込む必要があります。
リファラーは、実際のリンクユーザーのクリックによってのみ入力されますか?
どうすればこれを行うことができますか?URLにクエリ文字列を表示したくないので、クエリ文字列は使用しません。
私が考えることができる他の唯一のオプションはセッションです。
助けてください。=(