C# 嘲弄;ASP.NET“会话ID”;曲奇
我正在尝试为以下场景提供解决方案: 我已经将一个web应用程序从forms auth迁移到OWIN+OAuth 现在,还有一款移动客户端应用程序(android)。移动客户端根据web应用程序进行身份验证,如果一切顺利,服务器将使用用户的数据进行响应,并使用两个cookie进行响应,一个是会话cookie(从未使用过,但在客户端上检查过它的存在),另一个是用户的身份cookie。移动客户端验证用户的数据“看起来不错”,并检查是否存在这两个cookie,以便通过登录屏幕 我现在想做的是保持移动应用程序不受服务器上更改的影响,方法是在所有必需的检查之后根据需要提供用户的数据,然后模拟2个cookie的存在,这样我就可以避免对移动应用程序进行任何更改(避免编译和更新需要的客户端) 下面的代码是在API控制器中实现的,虽然C# 嘲弄;ASP.NET“会话ID”;曲奇,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,我正在尝试为以下场景提供解决方案: 我已经将一个web应用程序从forms auth迁移到OWIN+OAuth 现在,还有一款移动客户端应用程序(android)。移动客户端根据web应用程序进行身份验证,如果一切顺利,服务器将使用用户的数据进行响应,并使用两个cookie进行响应,一个是会话cookie(从未使用过,但在客户端上检查过它的存在),另一个是用户的身份cookie。移动客户端验证用户的数据“看起来不错”,并检查是否存在这两个cookie,以便通过登录屏幕 我现在想做的是保持移动应用
.ASPXAUTH
cookie似乎工作正常,但旧的ASP.NET_SessionId
cookie似乎无法控制
下面的代码永远不会向客户端响应ASP.NET_SessionId
cookie,尽管该代码与另一个cookie的代码相同,该cookie将完全遵循集合上的.Add/.Set/.Remove
if (HttpContext.Current.Response.Cookies.AllKeys.Contains("ASP.NET_SessionId"))
HttpContext.Current.Response.Cookies.Set(new HttpCookie("ASP.NET_SessionId", "1st") { HttpOnly = false });
else
HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "1st") { HttpOnly = false });
if (HttpContext.Current.Response.Cookies.AllKeys.Contains(".ASPXAUTH"))
HttpContext.Current.Response.Cookies.Set(new HttpCookie(".ASPXAUTH", "2nd") { HttpOnly = false });
else
HttpContext.Current.Response.Cookies.Add(new HttpCookie(".ASPXAUTH", "2nd") { HttpOnly = false });
是否有任何原因导致我无法返回名为ASP.NET\u SessionId
的“自定义cookie”?
我已经删除了所有与forms auth相关的逻辑,所以默认情况下不再生成cookie,但看起来我也不能返回它
提前谢谢