在WFilter NGF(WSG上网行为管理网关)的”Web认证“配置中,可以基于IP范围来配置要进行Web认证的客户端。实际使用中,有些局域网电脑和手机无线终端都混杂在同一个网段,这种情况下,如果要只对电脑做认证,或者只对手机做认证,就不能通过IP范围来实现了。需要修改默认的认证页面,基于浏览器的useragent来获取客户端操作系统类型,并且判断是否放行(无需认证直接放行)。
如下图,点击”编辑Web认证页面”,然后点击源代码图标。
可以查看到Web认证的界面源代码。
里面添加一个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();
}
});
}
}
如下图:
然后切换到编辑模式下点击保存。(注意:不要在源代码模式下保存)
经过上述配置后,在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();
}
});
}
}