所以简单的想法是我们有一个 RADIUS 服务器设置,以允许用户通过用户凭据向我们的 Ruckus 控制器进行身份验证。在认证时,用户应该被重定向到一个允许他们管理 MAC 认证设备的页面。
到目前为止,在我们测试过的所有设备上,包括“较旧”的 Android 设备,这似乎都不是问题,并且一切正常运行。然而,对于 Android 的 Lollipop(5.0+)版本,强制门户已经发生了很大变化,其中一部分更改是自动关闭在您加入网络时启动的强制门户。因为我们希望他们在身份验证后被重定向到 MAC 设备管理页面,这样他们就可以添加他们当前登录的设备并避免再次登录,这很糟糕。
我试过的:
检测浏览器是否正在移动设备中启动,并在onbeforeunload中弹出一个警报,尝试保持浏览器打开。
当检测到成功的身份验证(本质上是我们自己管理重定向)时,打开一个新的浏览器窗口,指向重定向 URL。
对重定向的 URL 执行选项 2,然后执行选项 1
什么不起作用:
要求用户禁用其设备上的强制门户选项。不试图将一般用户指向高级控件。
创建一个开放网络来访问 MAC 管理器,它必须经过某种身份验证。
现在的解决方案:
我们对这个解决方案不满意,但现在我们只是要求用户通过网络进行身份验证,然后打开他们的浏览器并转到用户用来手动添加他们不能使用的设备的基本登录门户页面(非网络身份验证)连接(如打印机、游戏设备等)。虽然这可行,但用户必须登录、打开浏览器、手动输入 url 并再次登录是一件很痛苦的事情。
这不是人们没有遇到的问题,请参见此处,我只是无法从遇到问题的任何人那里找到解决方案。当然,在这种情况下,有一些方法可以利用 javascript 或其他东西来保持浏览器打开。如果没有,有人对管理事物有更好的想法吗?