2012-05-31 2 views
0

В моем mvc3 facebook приложении я обнаружить пользователь, если статус = Войти подключен или позволить ему войти в на Facebook Войти popup.After логином я сохранить пользователь Facebook идентификатор в сессии:Сохранить сеанс на Facebook входе

HttpContext.Current.Session["CurrentUserFacebookId"] = FacebookId; 

проблема заключается в браузере Safari. Настройки сафари по умолчанию - «блокировать куки от третьих лиц и рекламодателей». Поэтому сеанс не сохраняется, и пользователь не может использовать мое заявление, потому что все действия проверить session.How, чтобы решить эту проблему? Спасибо

ответ

1

Вы можете попытаться сделать это, установив заголовок с помощью простого P3P Policy

P3P: CP = "IDC DSP COR ADM Devi TAIi PSA PSD Иваи IVDi CONI HIS OUR IND CNT"

Или в PHP:

Heade r ('P3P: CP = "IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS НАША ИНД CNT"');

Или в ASP.NET:

HttpContext.Current.Response.AddHeader ("P3P", "CP = \" "IDC DSP COR ADM Devi TAIi PSA PSD Иваи IVDi CONI HIS OUR IND CNT \ "" ")

Но я думаю, что после Safari 5.5.1 или около того этот трюк больше не работает. Я думаю, что единственный способ в Safari 5.5.1 или более поздней версии - включить сторонние файлы cookie/сеансы, установив «Блокировать файлы cookie» в «Настройки» -> «Конфиденциальность» на «Никогда».

0

Возможно, это конец для ответа.

Но, попробуйте положить в web.config, что: "формы loginUrl =" ~/Account/Login "тайм-аут = "2880" Cookieless = "UseCookies""

Внутри тега аутентификации. что (жирным шрифтом) включить куки и работает для меня.

Возможно, это не лучшее решение, но оно работает на сафари. и избегать взаимодействия пользователя с предпочтениями.

Смежные вопросы