1

ログイン用に次のコードを作成しました。

 Session["IsLogin"] = false;
        System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
        if (txtPassword.Text.Trim() == string.Empty)
        {
            // Display Error
        }
        else
        {
            string Pwd = config.AppSettings.Settings["PWD"].Value.ToString();
            FormsAuthenticationTicket formAuthTk = FormsAuthentication.Decrypt(Pwd);
            string strDcryptedPwd = formAuthTk.Name.Trim().ToString();
            if (txtPassword.Text.Trim() == strDcryptedPwd)
            {
                Session["IsLogin"] = true;
                Response.Redirect("AnyPage.aspx");
            }
            else
            {
                // Error, Wrong password
            }
        }

Visual Studioを実行している間、これは正常に実行されています。しかし、公開すると、次のエラーが表示されます。

System.Web.HttpException: データを検証できません

ノート:

  1. サイトを開発しているのと同じサーバーでアプリケーションを公開します。

  2. ページレベルで EnableViewStateMAC = false を試しました。【ログインページ】

このエラーの原因は何ですか? サイトを公開したときにのみ表示されるのはなぜですか?

4

3 に答える 3

1

文字列を暗号化する方法を変更したところ、問題はなくなりました。エラーの理由はわかりませんが、このように解決しました。同じ問題に直面している他の人に役立つことを願っています。

于 2011-02-10T10:10:05.660 に答える
0

ここを参照してください:

方法: Web.config ファイルからアプリケーション設定を読み取る

于 2011-02-09T13:04:34.400 に答える
0

Configuration.AppSettings["PWD"].ToString()... を使用するだけで、構成を宣言する必要はありません。

于 2011-02-09T12:46:01.500 に答える