我正在整合2个ASP.Net应用程序上的单一标志。对于这个问题,我有一个由主应用程序调用的Web服务。当用户登录时,此Web服务在我的第二个应用程序中对用户进行身份验证,并将需要传递给客户端浏览器的身份验证Cookie带回,以便他可以自由导航并登录到这两个应用程序中。ASP.NET将Cookie发送到客户端浏览器
我正打算使用HttpContext.Current.Response.Cookies.Add(饼干),以提供新的Cookie,但这样似乎没有cookie添加什么那么不工作...
关于可能出错的任何想法?
这里是我的代码:
var service = new localhost.UserManagement();
service.CookieContainer = new CookieContainer();
if (service.AuthenticateUser("[email protected]", "test"))
{
var collection = service.CookieContainer.GetCookies(new Uri("http://localhost"));
foreach (Cookie item in collection)
{
HttpContext.Current.Response.Cookies.Add(CookieConverter(item));
}
HttpContext.Current.Response.Flush();
return true;
}
return false;
注:CookieConverter(项目)用于转换Cookie对象我接收到的HttpCookie
感谢
private HttpCookie CookieConverter(Cookie cookie)
{
var result = new HttpCookie(cookie.Name);
result.Value = cookie.Value;
result.Domain = cookie.Domain;
result.Expires = cookie.Expires;
result.Path = cookie.Path;
result.Secure = cookie.Secure;
result.HttpOnly = cookie.HttpOnly;
return result;
}
FYI, “ASP.NET” 就是一个字 - 没有空格 – 2011-06-02 11:12:11
你可以把代码放在那个方法中吗? – vtortola 2011-06-02 11:13:53
var result = new HttpCookie(cookie.Name); result.Value = cookie.Value; result.Domain = cookie.Domain; result.Expires = cookie.Expires; result.Path = cookie.Path; result.Secure = cookie.Secure; result.HttpOnly = cookie.HttpOnly; 返回结果; – 2011-06-02 11:15:39