Я пытаюсь получить доступ к своему сайту (example.com) через IFrame с другого сайта (ab c .com)
На сайте ab c .com внутри IFrame они звонят на мой страница выглядит следующим образом:
<iframe src="https://example.com/MyPageIframe.aspx?tokenid=12345678-1234-abcd-9d78-a3f9a5fb3d8d" frameborder="0" width="100%" height="850px"></iframe>
Как только запрос поступил на страницу MyPageIframe.aspx, я проверяю идентификатор токена, а затем программно выполняю вход в систему следующим образом:
bool IsAuthenticated= FormsAuthentication.Authenticate(userName, password);
ErrorHandler.Singleton().logInforDetail("FormsAuthentication Status: "+ IsAuthenticated);
FormsAuthentication.SetAuthCookie(userName,false);
Это работало нормально до недавно. Мы изменили наши размещенные серверы, и на нем появились новые Windows обновления. Теперь
FormsAuthentication.Authenticate(userName, password);
не работает и возвращает false.
Мы используем. Net 4.5 framework.
При отладке я обнаружил samesite помечен как Слабый
Затем я попытался установить SameSite = Нет перед отправкой запроса FormsAuthentication.Authenticate () следующим образом:
if (HttpContext.Current.Response.Cookies["ASP.NET_SessionId"] != null)
{
ErrorHandler.Singleton().logInforDetail("Cookie ASP.NET_SessionId");
HttpContext.Current.Response.Cookies["ASP.NET_SessionId"].Path = "/; SameSite=None";
}
if (HttpContext.Current.Response.Cookies[".ASPXAUTH"] != null)
{
ErrorHandler.Singleton().logInforDetail("Cookie .ASPXAUTH");
HttpContext.Current.Response.Cookies[".ASPXAUTH"].Path = "/; SameSite=None";
}
Но все же я сталкиваюсь с той же проблемой. Что нужно сделать здесь? Или это причина по какой-то другой причине?
РЕДАКТИРОВАТЬ:
В web.config у меня включен CORS
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>