feat: add tenant login IP whitelist management

This commit is contained in:
richjohnrambo
2026-09-09 09:39:55 +08:00
parent 99307f1c98
commit 964746c19b
12 changed files with 400 additions and 9 deletions
@@ -143,3 +143,21 @@ func TestImUserPolicyGroupInputFilter(t *testing.T) {
t.Fatal("无效用户ID应被拒绝")
}
}
func TestImTenantLoginIPWhitelistSaveFilter(t *testing.T) {
in := &ImTenantLoginIPWhitelistSaveInp{
TenantId: 1,
AppList: []string{" 203.0.113.10 ", "2001:db8::/32", "203.0.113.10"},
WebList: []string{"198.51.100.7/24"},
}
if err := in.Filter(context.Background()); err != nil {
t.Fatalf("合法租户登录白名单不应报错: %v", err)
}
if len(in.AppList) != 2 || in.AppList[0] != "203.0.113.10" || in.WebList[0] != "198.51.100.0/24" {
t.Fatalf("IP白名单未正确规范化: app=%v web=%v", in.AppList, in.WebList)
}
in.AppList = []string{"not-an-ip"}
if err := in.Filter(context.Background()); err == nil {
t.Fatal("非法IP地址应被拒绝")
}
}