Ответ 1
Мне удалось выяснить правильный термин для этого типа аутентификации: "Captive portal". Прошивка в Captive Portal iPhone
в Google вывела несколько технических деталей с этих страниц: one, два, три.
Чтобы реализовать страницу входа в всплывающее окно Wi-Fi:
- Запрос DNS для
www.apple.com
не должен терпеть неудачу - HTTP-запрос для http://www.apple.com/library/test/success.html со специальным пользовательским агентом
CaptiveNetworkSupport/1.0 wispr
не должен возвращатьSuccess
.
Я не тестировал это, но это звучит правильно.
Комментарии ниже упоминают, что iOS 7 ведет себя по-другому и может запрашивать несколько серверов. Я не тестировал это. Так проще всего было бы просто перенаправить все HTTP-сообщения на вашу страницу входа в систему и заблокировать все сообщения, отличные от HTTP.
Microsoft обнаружение портативного портала использует что-то подобное для поведения pre-iOS7: его индикатор состояния сетевого подключения пытается обратитесь http://www.msftncsi.com. Windows 8 и 8.1 также включают поддержку WISPr.
Android обнаружение портативного портала, с AOSP 4.0.1, пытается связаться http://clients3.google.com/generate_204 или http://www.google.com/blank.html.
Чтобы быть как можно более универсальным, вам нужно просто заблокировать все коммуникации, кроме аутентификации, и включить поддержку WISPr на странице входа.
Я бы сказал: "Идите с надлежащей аутентификацией в своей сети" - что-то универсальное, такое как PEAP + MSCHAPv2, но Windows делает очень болезненным для ваших пользователей его настройку. Я не знаю, кто думал, что "Использовать ваши данные проверки подлинности Windows" делает разумным по умолчанию на машинах, которые не являются частью корпоративной сети домена, или даже почему "Проверить достоверность сертификата" является нормальным по умолчанию, поскольку большинство сетей не считают получение приоритетного сертификата.