【发布时间】:2009-05-27 19:07:35
【问题描述】:
我们使用以下代码来创建安全 cookie。在暂存环境中一切正常,但是在生产环境中,以下代码无法在 Safari、Chrome 或 IE 中创建 cookie,但它确实在 Firefox 中成功创建了 cookie。你们认为我在这里遗漏了什么或有什么问题吗?
public static void SetAuthenticationCookie(CustomIdentity identity)
{
ConfigSettings configSettings = ConfigHelper.GetConfigSettings();
string cookieName = configSettings.CookieName;
if (cookieName == null || cookieName.Trim() == String.Empty)
{
throw new Exception("CookieName entry not found in Web.config");
}
string cookieExpr = configSettings.CookieExpiration.ToString();
string encryptedUserDetails = Encrypt(identity);
HttpCookie userCookie = new HttpCookie(cookieName.ToUpper());
if (cookieExpr != null && cookieExpr.Trim() != String.Empty)
{
userCookie.Expires = DateTime.Now.AddMinutes(int.Parse(cookieExpr));
}
userCookie.Values["UserDetails"] = encryptedUserDetails;
userCookie.Values["Culture"] = configSettings.Customer.Culture;
MyContext.Current.Response.Cookies.Add(userCookie);
}
【问题讨论】:
标签: c# cookies cross-browser