我正在使用Windows Azure云服务,当我使用我的域名而不是[CLOUDSERVICENAME] .cloudapp.net访问它时,我遇到了身份验证Cookie问题。
我正在创建Cookie
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
serializeModel.Username,
DateTime.Now,
DateTime.Now.AddMinutes(15),
false,
userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
System.Web.HttpCookie faCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(faCookie);
但是当我尝试解密它时,我得到一个空值。
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
JavaScriptSerializer serializer = new JavaScriptSerializer();
if (!String.IsNullOrEmpty(authTicket.UserData))
{
这很奇怪,因为只有使用我的域名才能访问它。
答案 0 :(得分:0)
我发现当我使用自定义域(在SSL证书下运行)时,cookie大小会增加。我相信这与证书加密有关。
要解决这个问题,我必须从cookie userdata中删除一些参数,以保证它不会增长到4096字节以上(浏览器Cookie限制:http://browsercookielimits.x64.me/)