0

認証後にページを使用できるように、ユーザーが認証された後に値を true に設定しようとしています。値を true に設定して同じページにリダイレクトすると、その値は再び false になります。クラスのさまざまなインスタンスに関係していると確信していますが、修正方法がわかりません。

これは、値を設定するクラスです。

if (IsUserAuthorized())
    {
        Admin admin = new Admin
                          {
                              IsAuthorized = true
                          };
        Response.Redirect("~/Admin.aspx");
    }
    else
    {
        LblErrorMessage.Text = "Please check your \"User Name\" or \"Password\" and try again.";
    }

これは、値を知る必要があるクラスです。

public partial class Admin : System.Web.UI.Page
    {
        public bool IsAuthorized { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsAuthorized)
            {//Do something}            }
            else
            {
                Response.Redirect("~/UserAuthentication.aspx");
            }
        }
4

1 に答える 1

0

クラスはページ間で保持されません。必要なものは次の2つのいずれかです

  1. ログイン状態を Cookie に保存します。それがほとんどのサイトのやり方です。これにより、たとえばメール クライアントでさまざまなページに移動しながら、ログインしたままにすることができます。
  2. ログイン状態をセッション変数として保存します。ログイン変数 (true/false) はセッションに存在します。
于 2013-01-18T05:06:50.567 に答える