Я интегрирую единый вход в 2 приложения ASP.Net. В этом отношении у меня есть веб-сервис, который вызывается основным приложением. когда пользователь входит в систему. эта веб-служба аутентифицирует пользователя во втором приложении и возвращает файлы cookie для аутентификации, которые мне нужно доставить в браузер клиента, чтобы он мог свободно перемещаться и входить в оба приложения.
Я планировал использовать HttpContext.Current.Response.Cookies.Add (cookie) для доставки новых файлов cookie, но, похоже, это не работает, поскольку файлы cookie не добавляются что же когда-либо ...
Есть идеи, что может пойти не так?
вот мой код:
var service = new localhost.UserManagement();
service.CookieContainer = new CookieContainer();
if (service.AuthenticateUser("test@user.pt", "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;
}