0

secret フォルダーに管理者ページがあり、管理者だけがアクセスできるようにする必要があります。私が試みた方法は、セッションを作成し、ログインした人が管理者であるかどうかを確認することでした。これは管理者を認識できませんでした。以下は私が試みたものです。誰かが私がどこで間違ったかを見ることができますか? 管理ページが別のフォルダにあり、セッションを作成したときに、管理領域にアクセスしたときにそれが認識されないためですか? もしそうなら、どうすればこれを克服できますか?

if (Session["username"] != "admin")
    {
        Response.Redirect("~/NotAdmin.aspx");
    }
    else
    {
        showtables();
    }
4

1 に答える 1

1

HttpContext クラスを介してユーザー名を取得します

    var user = HttpContext.Current.User.Identity.Name;
    if (user!= "admin")
    {
        Response.Redirect("~/NotAdmin.aspx");
    }
    else
    {
       showtables();
    }

私の意見では、セッションはそれを扱うのには適していません。アプリケーションが負荷分散されたサーバーでホストされている場合はどうでしょうか。サーバーが負荷分散されている場合、ロード バランサーが要求を別のサーバーに送信すると、ユーザーのセッション状態情報が失われます。

于 2013-05-03T09:29:18.403 に答える