Intereting Posts
Определите GoogleTv из приложения для Android Получение результата от службы намерения внутри пользовательского адаптера для просмотра списка Гиперссылки с не-HTTP-схемой в GMAIL Мне нужно отправить файл изображения на сервер Clarifai для классификации изображений, но я продолжаю получать «пропущенные рамки, приложение делает слишком много работы», Android: как изменить размер приложения: fabSize = "normal" для кнопки Floating Action Исключение класса при изменении ориентации (Android) Проверьте, присутствует ли SDCard, логическое значение всегда верно Создание эмулятора Galaxy S5 Android Studio: что вызывает журналы логарифмических батарей? Как показать Android-клавиатуру с режимом символов по умолчанию? Таймер и TimerTask в Android Выделите кнопку, когда она нажата, без использования двух вытягиваемых? Как получить историю одного чата из Openfire с помощью asmack android Android: rebuild теперь требует уровня соответствия компилятора 5.0 или 6.0. Вместо этого найдено «1.7». Зачем удалять @Override? Отключить событие Click на элементах ListView Android

Предотвратить автоматическое закрытие Captive Portal после аутентификации (Android)

Поэтому простая идея заключается в том, что у нас есть настройка сервера RADIUS, позволяющая пользователям проходить аутентификацию с помощью нашего контроллера Ruckus через учетные данные пользователя. При аутентификации пользователь должен быть перенаправлен на страницу, которая позволяет им управлять устройствами, прошедшими проверку подлинности MAC.

Во всем, что мы тестировали до сих пор, в том числе «более старые» устройства для Android, похоже, это не проблема, и все работает так, как должно. Однако с версиями Android с Lollipop (5.0+) улавливающий портал сильно изменился, и часть этого изменения заключается в том, чтобы автоматически закрыть захваченный портал, который запускается при подключении к сети. Поскольку мы хотим, чтобы они перенаправлялись на страницу управления устройствами MAC после аутентификации, чтобы они могли добавить устройство, с которым они в настоящее время вошли в систему, и не нужно снова входить в систему, это плохо.

То, что я пробовал:

  1. Обнаружение, если браузер запускается в мобильном устройстве и появляется предупреждение в onbeforeunload, которое пытается оставить браузер открытым.

  2. Открытие нового окна браузера, указывающего на URL-адрес перенаправления, когда обнаружена успешная проверка подлинности (в основном, управление перенаправлением).

  3. Выполняя вариант 2, а затем вариант 1 на перенаправленном URL-адресе

Что не будет работать:

  • Попросить пользователей отключить опцию «Недоступный портал» на своем устройстве. Не пытайтесь указывать общих пользователей на расширенные элементы управления.

  • Создавая открытую сеть для доступа к диспетчеру MAC, она должна быть за некоторой аутентификацией.

Решение для сейчас:

Мы недовольны этим решением, но на данный момент мы просто просим пользователей пройти аутентификацию в сети, а затем открыть их браузер и перейти на основную страницу входа в систему (не-сетевую проверку подлинности), которую пользователи используют для ручного добавления устройств, которые они не могут (Например, принтеры, игровые устройства и т. Д.). Несмотря на то, что это работает, для пользователей очень важно войти в систему, открыть браузер, вручную ввести URL-адрес и снова войти в систему.

Это не проблема, с которой люди не сталкиваются, см. Здесь , я просто не смог найти решение у любого, кто столкнулся с этой проблемой. Конечно, есть какой-то способ использования javascript или что-то, чтобы браузер не открывался в этой ситуации. Если нет, у кого-нибудь есть лучшие идеи для управления вещами?

Нам удалось открыть браузер браузера UAM / захваченного портала на леденец, добавив блокировку правил брандмауэра:

  • clients3.google.com
  • Clients1.google.com,
  • android.clients.google.com
  • connectivitycheck.android.com
  • connectivitycheck.gstatic.com

Таким образом, после аутентификации пользователя UAM / Captive Browser остается открытым.

Вы можете оставить UAM открытым до тех пор, пока вам нужно, вы можете закрыть его, вызвав обратный прокси-сервер 204 перенаправляемого на страницу подключения Google.

Это, по-видимому, новое поведение Captive Portal на устройствах Android с момента выпуска Lollipop (5.0).

Мы еще не обнаружили обходного пути. Если есть явный способ отключить авто-увольнение, он, вероятно, зарегистрирован только в базе данных Android, доступной здесь (я искал, но еще ничего не нашел):

https://android.googlesource.com/platform/frameworks/base

FYI, мы также заметили, что Android использует CloudFront CDN для обнаружения сети в сети. Наше решение для портативных порталов первоначально использовало CloudFront для активов, поэтому нам пришлось переименовывать списки CloudFront в предварительные списки ACL. В результате белый список CloudFront впоследствии привел к тому, что обнаруженные сетевые функции не срабатывали на последних устройствах Android. Нам пришлось отказаться от CloudFront CDN для восстановления работоспособности порталов для устройств Android.

Почему бы вам просто не открыть скрытый портал после аутентификации? Вы всегда можете разрешать доступ ко всем сайтам, кроме скрытых сайтов проверки.

Протестировано и работает как на Android, так и на iOS во всех версиях. Если вам нужно получить доступ к файлу cookie / совместно используемому хранилищу из браузера по умолчанию (не являющегося незащищенным браузером ios / android sandbox), вы должны его проверить до аутентификации.