Jelajahi Sumber

注册添加来源ip和URL

wangmh 7 tahun lalu
induk
melakukan
74b88587b9

+ 7 - 1
sso-server/src/main/java/com/uas/sso/controller/PersonalRegisterController.java

@@ -17,6 +17,7 @@ import com.uas.sso.logging.RegisterBufferedLogger;
 import com.uas.sso.service.AppService;
 import com.uas.sso.service.PersonalAccountService;
 import com.uas.sso.service.UserService;
+import com.uas.sso.util.IpUtils;
 import com.uas.sso.util.PasswordLevelUtils;
 import com.uas.sso.foreign.weixin.entity.OAuthInfo;
 import org.slf4j.Logger;
@@ -29,6 +30,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.List;
 import java.util.Optional;
 
@@ -66,7 +70,7 @@ public class PersonalRegisterController extends BaseController {
      */
     @RequestMapping(method = RequestMethod.POST)
     @ResponseBody
-    public ModelMap register(User user, String appId, String code, String token, String baseUrl, String t) {
+    public ModelMap register(User user, String appId, String code, String token, String baseUrl, String t, String returnUrl) throws UnsupportedEncodingException {
         // 获取参数
         String vipName = user.getVipName();
         String mobile = user.getMobile();
@@ -107,6 +111,8 @@ public class PersonalRegisterController extends BaseController {
 
         // 注册并添加注册日志
         appId = StringUtils.isEmpty(appId) ? "sso" : appId;
+        user.setFromIp(IpUtils.getIp(request));
+        user.setFromUrl(URLDecoder.decode(returnUrl, "utf-8"));
         user = userService.register(user, appId);
         registerLogger.info(Type.REGISTER_PERSONAL.getValue(), Step.FIRST.getValue(), "个人注册成功", user, user.getFromApp());
 

+ 6 - 1
sso-server/src/main/java/com/uas/sso/controller/UserspaceRegisterController.java

@@ -17,6 +17,7 @@ import com.uas.sso.service.AppService;
 import com.uas.sso.service.UserAccountService;
 import com.uas.sso.service.UserService;
 import com.uas.sso.service.UserspaceService;
+import com.uas.sso.util.IpUtils;
 import com.uas.sso.util.PasswordLevelUtils;
 import com.uas.sso.foreign.weixin.entity.OAuthInfo;
 import org.slf4j.Logger;
@@ -29,6 +30,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.util.List;
 import java.util.Optional;
 
@@ -101,7 +104,7 @@ public class UserspaceRegisterController extends BaseController {
      */
     @RequestMapping(method = RequestMethod.POST)
     @ResponseBody
-    public ModelMap register(Userspace userspace, User user, String appId, String baseUrl, String t) {
+    public ModelMap register(Userspace userspace, User user, String appId, String baseUrl, String t, String returnUrl) throws UnsupportedEncodingException {
         // 获取企业信息
         String spaceName = userspace.getSpaceName();
         String businessCode = userspace.getBusinessCode();
@@ -169,6 +172,8 @@ public class UserspaceRegisterController extends BaseController {
 
         // 企业注册
         userspace.setAdmin(admin);
+        admin.setFromIp(IpUtils.getIp(request));
+        admin.setFromUrl(URLDecoder.decode(returnUrl, "utf-8"));
         userspace = userspaceService.register(userspace, appId);
 
         tokenService.delete(t);

+ 28 - 0
sso-server/src/main/java/com/uas/sso/entity/User.java

@@ -127,6 +127,18 @@ public class User implements Serializable {
     @Column(name = "from_app")
     private String fromApp;
 
+    /**
+     * 用户注册ip
+     */
+    @Column(name = "from_ip")
+    private String fromIp;
+
+    /**
+     * 用户注册来源url
+     */
+    @Column(name = "from_url")
+    private String fromUrl;
+
     /**
      * 姓
      */
@@ -367,6 +379,22 @@ public class User implements Serializable {
         this.fromApp = fromApp;
     }
 
+    public String getFromIp() {
+        return fromIp;
+    }
+
+    public void setFromIp(String fromIp) {
+        this.fromIp = fromIp;
+    }
+
+    public String getFromUrl() {
+        return fromUrl;
+    }
+
+    public void setFromUrl(String fromUrl) {
+        this.fromUrl = fromUrl;
+    }
+
     public String getFirstName() {
         return firstName;
     }