<authentication mode="Forms">
            <forms loginUrl="/Login.aspx" timeout="40" name="demo" protection="All" path="localhost" />
</authentication>
在web.config中已经配置节点,代码中也对FormsAuthenticationTicket类添加身份验证票证。
Response.Write(Page.User.Identity.Name);
用火狐浏览器能获取到Page.User.Identity.Name的正常值,可是用IE6浏览器是获取不到的。试了一上午,求解。

解决方案 »

  1.   

    确实看不懂 为什么.....        ///<summary>
            /// 获取Forms 身份验证 Cookie的域的值(例: .baidu.com)
            ///</summary>
            public string FormsCookieDomain
            {
                get
                {
                    return FormsAuthentication.CookieDomain;
                }
            }        /// <summary>
            /// 获取验证票数据
            /// </summary>
            /// <returns></returns>
            public string UserData
            {
                get
                {
                    var authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];                if ( authCookie != null && !string.IsNullOrEmpty(authCookie.Value) )
                    {
                        var ticket = FormsAuthentication.Decrypt(authCookie.Value);                    return ticket.UserData;
                    }                return null;
                }
            }
      

  2.   

    问题终于解决了,原因是我使用的是localhost本地域名,在设置此Cookie相关联的域Domain值为localhost,这个好像是不行的,我在iis中重定向一个域名,问题就解决了。
    希望以后遇到我这样问题的能帮助你,Domain值不能为localhost,我的结论是这样的,嘿嘿!就是不知道为什么。