0

私は Cookie で私を記憶しようとしましたが、成功できません。null 参照例外がスローされます。どうすれば修正できますか?

ページロードメソッドで

   if (!string.IsNullOrEmpty(Request.Cookies["mail"].Value) && !string.IsNullOrEmpty(Request.Cookies["pass"].Value)) {

        TextBox1.Text = Request.Cookies["mail"].Value;

        TextBox2.Text = Request.Cookies["pass"].Value;}
    }

CheckedChanged メソッドで

    if (CheckBox1.Checked == true)
    {
        Response.Cookies["mail"].Value = TextBox1.Text;
        Response.Cookies["pass"].Value = TextBox2.Text;
     }
4

1 に答える 1

3

変化する

if (!string.IsNullOrEmpty(Request.Cookies["mail"].Value) && 
    !string.IsNullOrEmpty(Request.Cookies["pass"].Value))

if (Request.Cookies["mail"] != null && 
    Request.Cookies["pass"] != null &&
    !string.IsNullOrEmpty(Request.Cookies["pass"].Value)
    !string.IsNullOrEmpty(Request.Cookies["mail"].Value))

Request.Cookies["mail"]またはRequest.Cookies["pass"]null の場合、if記述した例外がスローされます。

別の提案: を使用しているForms Auhentication場合は、組み込みのクラスを使用して、ログインと関連機能をサポートできます。良い戦略ではないセキュリティに関連する車輪の再発明。

たとえば、パスワードをプレーン テキストで Cookie に保存しているようです。これは非常に悪い考えです。

于 2012-06-28T12:37:12.530 に答える