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();
            }
        });

   }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章