13
2019
08

Web认证如何放行不同的操作系统?

在WFilter NGF(WSG上网行为管理网关)的”Web认证“配置中,可以基于IP范围来配置要进行Web认证的客户端。实际使用中,有些局域网电脑和手机无线终端都混杂在同一个网段,这种情况下,如果要只对电脑做认证,或者只对手机做认证,就不能通过IP范围来实现了。需要修改默认的认证页面,基于浏览器的useragent来获取客户端操作系统类型,并且判断是否放行(无需认证直接放行)。

如下图,点击”编辑Web认证页面”,然后点击源代码图标。

201908131565677101864630.png

可以查看到Web认证的界面源代码。

201908131565677203111754.png

里面添加一个function,如下:

function checkbypassPC(){
    //alert("userAgent="+window.navigator.userAgent);
    if( window.navigator.userAgent != undefined && window.navigator.userAgent.indexOf("Windows") > -1 ){

       //如果是windows系统,自动bypass。

        $.ajax( "/cgi-bin/verify?tid=bypasspc", {
            method: 'GET',
            cache: false,
            dataType: 'text',
            success: function(data) {

               //跳转到成功认证的跳转页面
                check_landing_page();
            }
        });
    }
}

如下图:

201908131565677469529702.png

然后切换到编辑模式下点击保存。(注意:不要在源代码模式下保存)

经过上述配置后,在pc端跳出认证页面后即可自动完成认证,无需进行扫码。如果要对手机不进行认证,直接在函数中修改useragent即可,如下:

function checkbypassPC(){
    //alert("userAgent="+window.navigator.userAgent);

   if( /Android|webOS|iPhone|iPad|iPod|Opera Mini/i.test(window.navigator.userAgent) ) {
        //Android、iphone、ipad自动bypass。

        $.ajax( "/cgi-bin/verify?tid=bypasspc", {
            method: 'GET',
            cache: false,
            dataType: 'text',
            success: function(data) {

               //跳转到成功认证的跳转页面
                check_landing_page();
            }
        });

   }

}


« 上一篇 下一篇 »