在最新版本的EasyGBS中,开启http接口鉴权后就意味着必须登录过后才能够调用后端接口。在部分场景中,有的项目想针对性地对某些IP开放鉴权,这个时候就需要添加请求白名单功能。
在没有添加白名单功能前,通过未开放鉴权的IP去访问界面,就会报权限错误,如下:

此处我们需要针对IP进行鉴权的判断,因此可以添加如下代码判断请求的来源IP,判断IP是否在预设置的白名单内,如果在内则放行,不在内则验证权限。
func CheckIP(c *gin.Context) bool {
host, _, err := net.SplitHostPort(c.Request.RemoteAddr)
if err != nil {
return false
}
sechttp := utils.Conf().Section("http")
whiteIpList := sechttp.Key("white_ip_list").MustString("127.0.0.1")
whiteIpListArr := strings.Split(whiteIpList, ",")
for _, v := range whiteIpListArr {
if v == host {
return true
}
}
return false
}
再次请求页面能够正常打开播放。

之前EasyGBS还开发了告警白名单功能,大家可以了解一下(EasyGBS如何配置告警白名单)。EasyGBS已经添加的功能包括语音对讲、云台控制、告警上报等。如果有兴趣,可以自行下载测试,测试期间可以自由调用接口进行二次开发。
EasyGBS IP白名单功能
介绍了EasyGBS中如何实现IP白名单功能,通过检查请求来源IP来控制接口访问权限,确保只有白名单内的IP地址能正常使用。此外,还提到了其他已实现的功能如语音对讲等。
134

被折叠的 条评论
为什么被折叠?



