From 123ce171d2b8ca97d9f4011a33ce4e5e8d1cc339 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 13 四月 2021 15:08:09 +0800
Subject: [PATCH] 使用数据库用户表代替配置文件
---
src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java | 50 ++++++++++++++++
src/main/java/com/genersoft/iot/vmp/web/AuthController.java | 14 ++--
web_src/src/components/dialog/easyPlayer.vue | 3 +
src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java | 31 ++++++++++
src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java | 27 +++++++++
src/main/resources/wvp.sqlite | 0
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java | 13 ++--
src/main/resources/application-dev.yml | 7 --
src/main/java/com/genersoft/iot/vmp/service/IUserService.java | 12 ++++
9 files changed, 137 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IUserService.java b/src/main/java/com/genersoft/iot/vmp/service/IUserService.java
new file mode 100644
index 0000000..868118b
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/service/IUserService.java
@@ -0,0 +1,12 @@
+package com.genersoft.iot.vmp.service;
+
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+
+public interface IUserService {
+
+ User getUser(String username, String password);
+
+ boolean changePassword(int id, String password);
+
+
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..0a67a01
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
@@ -0,0 +1,27 @@
+package com.genersoft.iot.vmp.service.impl;
+
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.UserMapper;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserServiceImpl implements IUserService {
+
+ @Autowired
+ private UserMapper userMapper;
+
+
+ @Override
+ public User getUser(String username, String password) {
+ return userMapper.select(username, password);
+ }
+
+ @Override
+ public boolean changePassword(int id, String password) {
+ User user = userMapper.selectById(id);
+ user.setPassword(password);
+ return userMapper.update(user) > 0;
+ }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java
new file mode 100644
index 0000000..4608a29
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java
@@ -0,0 +1,31 @@
+package com.genersoft.iot.vmp.storager.dao;
+
+import com.genersoft.iot.vmp.gb28181.bean.GbStream;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface UserMapper {
+
+ @Insert("INSERT INTO user (username, password, roleId, create_time) VALUES" +
+ "('${username}', '${password}', '${roleId}', datetime('now','localtime'))")
+ int add(User user);
+
+ @Update("UPDATE user " +
+ "SET username=#{username}," +
+ "password=#{password}," +
+ "roleId=#{roleId}" +
+ "WHERE id=#{id}")
+ int update(User user);
+
+ @Delete("DELETE FROM user WHERE app=#{app} AND id=#{id}")
+ int delete(User user);
+
+ @Select("select * FROM user WHERE username= #{username} AND password=#{password}")
+ User select(String username, String password);
+
+ @Select("select * FROM user WHERE id= #{id}")
+ User selectById(int id);
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java
new file mode 100644
index 0000000..697df04
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java
@@ -0,0 +1,50 @@
+package com.genersoft.iot.vmp.storager.dao.dto;
+
+public class User {
+
+ private int id;
+ private String username;
+ private String password;
+ private String createTime;
+ private int roleId;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public int getRoleId() {
+ return roleId;
+ }
+
+ public void setRoleId(int roleId) {
+ this.roleId = roleId;
+ }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
index 306a158..cf781c0 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
@@ -1,9 +1,12 @@
package com.genersoft.iot.vmp.vmanager.user;
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
@@ -17,11 +20,9 @@
@RequestMapping("/api/user")
public class UserController {
- @Value("${auth.username}")
- private String usernameConfig;
+ @Autowired
+ private IUserService userService;
- @Value("${auth.password}")
- private String passwordConfig;
@ApiOperation("鐧诲綍")
@ApiImplicitParams({
@@ -30,8 +31,8 @@
})
@GetMapping("/login")
public String login(String username, String password){
- if (!StringUtils.isEmpty(username) && username.equals(usernameConfig)
- && !StringUtils.isEmpty(password) && password.equals(passwordConfig)) {
+ User user = userService.getUser(username, password);
+ if (user != null) {
return "success";
}else {
return "fail";
diff --git a/src/main/java/com/genersoft/iot/vmp/web/AuthController.java b/src/main/java/com/genersoft/iot/vmp/web/AuthController.java
index 702387c..1a02c1e 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/AuthController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/AuthController.java
@@ -1,5 +1,8 @@
package com.genersoft.iot.vmp.web;
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -9,16 +12,13 @@
@RequestMapping(value = "/auth")
public class AuthController {
- @Value("${auth.username}")
- private String username;
-
- @Value("${auth.password}")
- private String password;
+ @Autowired
+ private IUserService userService;
@RequestMapping("/login")
public String devices(String name, String passwd){
- if (!StringUtils.isEmpty(name) && name.equals(username)
- && !StringUtils.isEmpty(passwd) && passwd.equals(password)) {
+ User user = userService.getUser(name, passwd);
+ if (user != null) {
return "success";
}else {
return "fail";
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index d4abf20..fad47f9 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -48,13 +48,6 @@
# [鍙�塢 榛樿璁惧璁よ瘉瀵嗙爜锛屽悗缁墿灞曚娇鐢ㄨ澶囧崟鐙瘑鐮�
password: admin123
-# 鐧婚檰鐨勭敤鎴峰悕瀵嗙爜
-auth:
- # [鍙�塢 鐢ㄦ埛鍚�
- username: admin
- # [鍙�塢 瀵嗙爜, 榛樿涓篴dmin
- password: 21232f297a57a5a743894a0e4a801fc3
-
#zlm鏈嶅姟鍣ㄩ厤缃�
media:
# [蹇呴』淇敼] zlm鏈嶅姟鍣ㄧ殑鍐呯綉IP
diff --git a/src/main/resources/wvp.sqlite b/src/main/resources/wvp.sqlite
index 2e73cdb..eb4e08b 100644
--- a/src/main/resources/wvp.sqlite
+++ b/src/main/resources/wvp.sqlite
Binary files differ
diff --git a/web_src/src/components/dialog/easyPlayer.vue b/web_src/src/components/dialog/easyPlayer.vue
index f6a7b47..71d858e 100644
--- a/web_src/src/components/dialog/easyPlayer.vue
+++ b/web_src/src/components/dialog/easyPlayer.vue
@@ -42,6 +42,9 @@
console.log(message)
}
},
+ destroyed() {
+ this.easyPlayer.destroy();
+ },
}
</script>
--
Gitblit v1.8.0