Ver código fonte

修复登陆的bug

panlinlin 4 anos atrás
pai
commit
ac45e4f6c8

+ 35 - 0
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java

@@ -0,0 +1,35 @@
+package com.genersoft.iot.vmp.vmanager.user;
+
+import com.genersoft.iot.vmp.vmanager.play.PlayController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api")
+public class UserController {
+
+    private final static Logger logger = LoggerFactory.getLogger(UserController.class);
+
+
+    @Value("${auth.username}")
+    private String usernameConfig;
+
+    @Value("${auth.password}")
+    private String passwordConfig;
+
+    @RequestMapping("/user/login")
+    public String login(String username, String password){
+        if (!StringUtils.isEmpty(username) && username.equals(usernameConfig)
+                && !StringUtils.isEmpty(password) && password.equals(passwordConfig)) {
+            return "success";
+        }else {
+            return "fail";
+        }
+    }
+}

+ 4 - 4
src/main/java/com/genersoft/iot/vmp/web/AuthController.java

@@ -19,12 +19,12 @@ public class AuthController {
     private String password;
 
     @RequestMapping("/login")
-    public Object devices(String username, String password){
-        if (!StringUtils.isEmpty(username) && username.equals(username)
-                && !StringUtils.isEmpty(password) && password.equals(password)) {
+    public String devices(String name, String passwd){
+        if (!StringUtils.isEmpty(name) && name.equals(username)
+                && !StringUtils.isEmpty(passwd) && passwd.equals(password)) {
             return "success";
         }else {
-            return "fait";
+            return "fail";
         }
     }
 }

+ 5 - 0
web_src/package-lock.json

@@ -5175,6 +5175,11 @@
       "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=",
       "dev": true
     },
+    "js-md5": {
+      "version": "0.7.3",
+      "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+      "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
+    },
     "js-tokens": {
       "version": "3.0.2",
       "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",

+ 1 - 0
web_src/package.json

@@ -15,6 +15,7 @@
     "core-js": "^2.6.5",
     "echarts": "^4.7.0",
     "element-ui": "2.10.1",
+    "js-md5": "^0.7.3",
     "moment": "^2.29.1",
     "vue": "^2.6.11",
     "vue-clipboard2": "^0.3.1",

+ 9 - 3
web_src/src/components/Login.vue

@@ -18,7 +18,6 @@
 </template>
 
 <script>
-import crypto from 'crypto'
 export default {
   name: 'Login',
   data(){
@@ -56,13 +55,13 @@ export default {
   		//需要想后端发送的登录参数
   		let loginParam = {
   			username: this.username,
-  			password: crypto.createHash('md5').update(this.password, "utf8").digest('hex')
+  			password: this.$md5(this.password)
   		}
       var that = this;
       //设置在登录状态
       this.isLoging = true;
 
-      this.$axios.get("/auth/login",{
+      this.$axios.get("/api/user/login",{
         params: loginParam
       } )
       .then(function (res) {
@@ -71,6 +70,13 @@ export default {
             that.$cookies.set("session", {"username": that.username}) ;
             //登录成功后
             that.$router.push('/');
+          }else{
+            that.isLoging = false;
+            that.$message({
+                  showClose: true,
+                  message: '登录失败,用户名或密码错误',
+                  type: 'error'
+              });
           }
       })
       .catch(function (error) {

+ 4 - 0
web_src/src/main.js

@@ -9,6 +9,10 @@ import VueCookies from 'vue-cookies';
 import echarts from 'echarts';
 
 import VueClipboard from 'vue-clipboard2'
+
+import md5 from 'js-md5'
+Vue.prototype.$md5 = md5
+
 Vue.use(VueClipboard)
 Vue.use(ElementUI);
 Vue.use(VueCookies);