Как получить приложение на основе PhoneGap для проверки подлинности на основе ASP.NET Forms Authentication?
Кому-нибудь удалось заставить ASP.NET Forms Authentication (с файлами cookie) работать с мобильным приложением на основе PhoneGap?
Я столкнулся со следующими вопросами об управлении файлами cookie в PhoneGap и правильной настройке сервера:
- Где управлять cookie в приложении phonegap с помощью jquery?
- https://github.com/phonegap/phonegap-iphone/issues/190
- Проверка подлинности Asp.Net Forms при использовании iPhone UIWebView
Но, к сожалению, ни одно из этих решений не работает. Запросы, поступающие из приложения PhoneGap, не указывают на аутентифицированного пользователя, хотя когда я запускаю тот же код dashboard.html, что и файл в Safari, запросы отображаются как аутентифицированные.
4 ответа
РЕШЕНИЕ:
cookieless="UseCookies"
в web.config, наконец, сделал это для меня:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />
</authentication>
Если вы создаете cookie-файл в приложении телефонного промежутка, вы в основном создаете cookie-файл для локального хоста. Когда вы выходите на сервер.net, этот сервер не может видеть этот файл cookie.
Это очень общее, но я надеюсь, что это немного поможет?
Вы можете использовать в web.config, cookieless="UseCookies" в теге аутентификации
Поскольку я не знаю ваших требований, это может быть глупым ответом, но почему в этом случае вы не рассматриваете возможность доставки функциональности не из службы ASP.NET, а из службы WCF/Service Stack?
В настоящее время я также работаю в приложении PhoneGap, но оно обслуживается веб-службой REST (Service Stack), и я думаю, что такая архитектура предлагает большую гибкость.