1

login.aspx と cookie.aspx の 2 つのページがあります。

ユーザーがログインすると、Cookie が作成され、cookie.aspx にリダイレクトされます。cookie.aspx が読み込まれるときに、Cookie が存在するかどうかを確認する必要があります。

これが私のlogin.aspxログインコードです

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
    userName = Login1.UserName;
    passWord = Login1.Password;

    athUser = DirectoryServicesProcessor.Verify_User(userName, passWord);
    if (athUser == true)
    {
        //FormsAuthentication.SetAuthCookie(userName, false);
        bool IsPersistentCookie = true;
        DateTime expirationDate = new DateTime();
        if (IsPersistentCookie)
            expirationDate = DateTime.Now.AddYears(1);
        else
            expirationDate = DateTime.Now.AddMinutes(300); 

        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
            1,
            userName,
            DateTime.Now,
            expirationDate,
            IsPersistentCookie,
            userName,
            FormsAuthentication.FormsCookiePath);

        string et = FormsAuthentication.Encrypt(ticket);
        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, et);
        if (IsPersistentCookie)
            cookie.Expires = ticket.Expiration;
        cookie.Name = ".AUTH";
        cookie.Domain = ".mydomain.com";
        Response.SetCookie(cookie);
        Response.Cookies.Add(cookie);

        Response.Redirect("~/cookietest/cookie.aspx");
    }

これがcookie.aspxのページロードです

protected void Page_Load(object sender, EventArgs e)
{
    HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(FormsAuthentication.FormsCookieName);

    if (cookie != null)
    {
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);

        if (ticket != null)
        {
            WhatHappened.Text = "Found the cookie!";
        }
        else
        {
            Response.Redirect("../failure.aspx");
        }
    }
    else
    {

        Response.Redirect("../failure.aspx");
    }

}

cookie.aspx が login.aspx で作成された Cookie を見つけられないのはなぜでしょうか。

ありがとう!

4

1 に答える 1

0

私はFormsAuthentication.FormsCookieNameクッキー名を設定するために使用します。

cookie.Name = FormsAuthentication.FormsCookieName;

私にとっては、それは.ASPXAUTHnotに設定されてい.AUTHます。

于 2013-03-11T18:58:37.593 に答える