用户表增加注册IP 登陆IP

1、用户表增加注册IP 登陆IP
2、新增ip_limit表、user_ip_limit表
3、用户创建需要增加createIp参数同步
   用户登录需要增加loginIp参数同步

login_limit 限制说明
0:读取ip_limits表 限制用户注册+用户登陆IP
1:读取user_ip_limits表 限制用户在指定IP登陆
2:读取black_lists表 限制用户在限制时间不能登陆
This commit is contained in:
欧阳氏
2022-08-07 22:37:27 +08:00
parent 600c5243dd
commit 9358aa1bd8
18 changed files with 11016 additions and 6510 deletions
+12 -2
View File
@@ -10,11 +10,12 @@ import (
"Open_IM/pkg/common/log"
"Open_IM/pkg/utils"
"encoding/json"
"github.com/gin-gonic/gin"
"math/big"
"net/http"
"strconv"
"time"
"github.com/gin-gonic/gin"
)
type ParamsSetPassword struct {
@@ -81,6 +82,11 @@ func SetPassword(c *gin.Context) {
openIMRegisterReq.Nickname = params.Nickname
openIMRegisterReq.Secret = config.Config.Secret
openIMRegisterReq.FaceURL = params.FaceURL
createIp := c.Request.Header.Get("X-Forward-For")
if createIp == "" {
createIp = c.ClientIP()
}
openIMRegisterReq.CreateIp = createIp
openIMRegisterResp := api.UserRegisterResp{}
log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "register req:", openIMRegisterReq)
bMsg, err := http2.Post(url, openIMRegisterReq, 2)
@@ -95,7 +101,11 @@ func SetPassword(c *gin.Context) {
if err != nil {
log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error())
}
c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg})
if openIMRegisterResp.ErrCode == constant.RegisterLimit {
c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterLimit, "errMsg": "用户注册被限制"})
} else {
c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg})
}
return
}
log.Info(params.OperationID, "begin store mysql", account, params.Password, "info", params.FaceURL, params.Nickname)