diff --git a/common/pom.xml b/common/pom.xml
index 78b2c63..65e35af 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -28,6 +28,8 @@
hibernate-validator
6.1.5.Final
+
+
\ No newline at end of file
diff --git a/common/src/main/java/com/canvas/web/config/MessageConfig.java b/common/src/main/java/com/canvas/web/config/MessageConfig.java
new file mode 100644
index 0000000..a22c4e7
--- /dev/null
+++ b/common/src/main/java/com/canvas/web/config/MessageConfig.java
@@ -0,0 +1,12 @@
+package com.canvas.web.config;
+
+import com.canvas.web.config.SubMailMsgConfig;
+
+public class MessageConfig extends SubMailMsgConfig {
+
+ public static final String APP_ID = "msg_appid";
+
+ public static final String APP_KEY = "msg_appkey";
+
+ public static final String APP_SIGNTYPE = "msg_signtype";
+}
diff --git a/common/src/main/java/com/canvas/web/config/SubMailMsgConfig.java b/common/src/main/java/com/canvas/web/config/SubMailMsgConfig.java
new file mode 100644
index 0000000..6699d1e
--- /dev/null
+++ b/common/src/main/java/com/canvas/web/config/SubMailMsgConfig.java
@@ -0,0 +1,50 @@
+package com.canvas.web.config;
+
+
+//短信验证码配置类
+public class SubMailMsgConfig{
+
+ protected String appId = null;
+
+ protected String appKey = null;
+
+ protected String signType=null;
+
+ //授权模式
+ public static final String TYPE_NORMAL = "normal";
+ public static final String TYPE_MD5 = "md5";
+ public static final String TYPE_SHA1 = "sha1";
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId;
+ }
+
+ public String getAppKey() {
+ return appKey;
+ }
+
+ public void setAppKey(String appKey) {
+ this.appKey = appKey;
+ }
+
+
+ public String getSignType() {
+ if (this.checkType(this.signType)) {
+ return this.signType;
+ }
+ return TYPE_NORMAL;
+ }
+
+ public void setSignType(String signType) {
+ this.signType = signType;
+ }
+
+ private boolean checkType(String signType) {
+ return TYPE_NORMAL.equals(signType) || TYPE_MD5.equals(signType)
+ || TYPE_SHA1.equals(signType);
+ }
+}
diff --git a/common/src/main/java/com/canvas/web/utils/ConfigLoader.java b/common/src/main/java/com/canvas/web/utils/ConfigLoader.java
new file mode 100644
index 0000000..c49683c
--- /dev/null
+++ b/common/src/main/java/com/canvas/web/utils/ConfigLoader.java
@@ -0,0 +1,54 @@
+package com.canvas.web.utils;
+
+import com.canvas.web.config.MessageConfig;
+import com.canvas.web.config.SubMailMsgConfig;
+
+import java.io.IOException;
+import java.util.Properties;
+
+public class ConfigLoader {
+
+ private static Properties pros = null;
+
+ /**
+ * 加载文件时,类载入,静态块内部的操作将被运行一次
+ * */
+ static {
+ pros = new Properties();
+ try {
+ pros.load(ConfigLoader.class
+ .getResourceAsStream("/app_config.properties"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static enum ConfigType {
+ Mail,Message,Voice,Internationalsms,Mobiledata
+ };
+
+ public static SubMailMsgConfig load(ConfigType type) {
+ switch (type) {
+// case Mail:
+// return createMailConfig();
+ case Message:
+ return createMessageConfig();
+// case Voice:
+// return createVoiceConfig();
+// case Internationalsms:
+// return createInternationalsmsConfig();
+// case Mobiledata:
+// return createMobiledataConfig();
+ default:
+ return null;
+ }
+ }
+
+ private static SubMailMsgConfig createMessageConfig() {
+ SubMailMsgConfig config = new MessageConfig();
+ config.setAppId(pros.getProperty(MessageConfig.APP_ID));
+ config.setAppKey(pros.getProperty(MessageConfig.APP_KEY));
+ config.setSignType(pros.getProperty(MessageConfig.APP_SIGNTYPE));
+ return config;
+ }
+}
diff --git a/system/pom.xml b/system/pom.xml
index d3d9035..5b6ad27 100644
--- a/system/pom.xml
+++ b/system/pom.xml
@@ -73,6 +73,39 @@
org.quartz-scheduler
quartz
+
+
+
+ commons-logging
+ commons-logging
+ 1.1.1
+
+
+ commons-collections
+ commons-collections
+ 3.2.1
+
+
+ org.apache.commons
+ commons-lang3
+ 3.3.2
+
+
+ net.sf.ezmorph
+ ezmorph
+ 1.0.3
+
+
+ net.sf.json-lib
+ json-lib
+ 2.2.3
+ jdk15
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.3.5
+
diff --git a/system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java b/system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java
index f38f7a3..cf34fb6 100644
--- a/system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java
+++ b/system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java
@@ -5,18 +5,17 @@ import com.canvas.web.annotation.rest.AnonymousDeleteMapping;
import com.canvas.web.annotation.rest.AnonymousGetMapping;
import com.canvas.web.annotation.rest.AnonymousPostMapping;
import com.canvas.web.config.RsaProperties;
+import com.canvas.web.config.SubMailMsgConfig;
import com.canvas.web.exception.BaseException;
import com.canvas.web.modules.security.config.bean.LoginCodeEnum;
import com.canvas.web.modules.security.config.bean.LoginProperties;
import com.canvas.web.modules.security.config.bean.SecurityProperties;
+import com.canvas.web.modules.security.msglib.MESSAGEXsend;
import com.canvas.web.modules.security.security.TokenProvider;
import com.canvas.web.modules.security.service.OnlineUserService;
import com.canvas.web.modules.security.service.dto.AuthUserDto;
import com.canvas.web.modules.security.service.dto.JwtUserDto;
-import com.canvas.web.utils.RedisUtils;
-import com.canvas.web.utils.RsaUtils;
-import com.canvas.web.utils.SecurityUtils;
-import com.canvas.web.utils.StringUtils;
+import com.canvas.web.utils.*;
import com.wf.captcha.base.Captcha;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -70,7 +69,7 @@ public class AuthorizationController {
if (StringUtils.isBlank(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) {
throw new BaseException("验证码错误");
}
- UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(authUser.getUsername(), password);
+ UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(authUser.getPhone(), password);
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
// 生成令牌
@@ -123,4 +122,18 @@ public class AuthorizationController {
onlineUserService.logout(tokenProvider.getToken(request));
return new ResponseEntity<>(HttpStatus.OK);
}
+
+ @ApiOperation("短信验证码")
+ @AnonymousGetMapping(value = "/msg")
+ public ResponseEntity