これを行うにはいくつかの方法があります。たとえば、ユーザーが資格情報を入力したら、それをSession オブジェクトに保存します。
次に、Page_Load
機密情報の.aspx で、Session オブジェクトが存在することを確認します。
これをよりよく説明するには、次のようにします。
login.aspx.cs ページで:
protected btnLoginClick(...)
{
// CHECK USERNAME and PASSWORD
if (UserIsAuthenticated)
{
Session["UserName"] = user;
}
}
次に、機密情報.aspx.cs
protected page_load(...)
{
// If UserName doesn't exist in Session, don't allow access to page
if (Session["UserName"] == null)
{
Response.Redirect("INVALID_USER.aspx");
}
}
編集:
OP のコメントに基づいて、どのページから来たのか知りたい場合は、次のいずれかを使用
できます。
protected void Page_Load(object sender, EventArgs e)
{
var x = this.Page.PreviousPage;
または、次のようにRequest.UrlReferrerを使用します。
protected void Page_Load(object sender, EventArgs e)
{
var x = Request.UrlReferrer;
どちらの場合も、x
最初に null でないことを確認してください...