Skip to content

Commit 8205823

Browse files
author
danbai225
committed
token登陆
1 parent 276f1a9 commit 8205823

File tree

10 files changed

+387
-234
lines changed

10 files changed

+387
-234
lines changed

.idea/workspace.xml

Lines changed: 243 additions & 215 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@
1313

1414
[线上地址](https://dbys.vip)
1515

16-
如果你对这个项目感兴趣,欢迎加入! --- >
17-
18-
<img src="http://img.p00q.cn:222/2019/11/21/311ec7efba02b.jpg" alt="db" width="200">
19-
2016
## 功能特性
2117

2218
+ 免VIP在线观看影视(资源来源网络)

src/main/java/com/danbai/ys/controller/restful/v1/User.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.danbai.ys.controller.restful.v1;
22

33
import com.danbai.ys.entity.BaseResult;
4+
import com.danbai.ys.entity.Token;
45
import com.danbai.ys.service.UserService;
56
import com.danbai.ys.service.YsService;
67
import com.danbai.ys.utils.ResultUtil;
78
import org.springframework.beans.factory.annotation.Autowired;
8-
import org.springframework.web.bind.annotation.GetMapping;
9-
import org.springframework.web.bind.annotation.RequestMapping;
10-
import org.springframework.web.bind.annotation.RestController;
9+
import org.springframework.web.bind.annotation.*;
1110

1211
import javax.servlet.http.HttpServletRequest;
1312

@@ -30,7 +29,12 @@ public class User {
3029
* @return BaseResult
3130
*/
3231
@GetMapping("/user")
33-
public BaseResult thisUser(HttpServletRequest request) {
32+
public BaseResult thisUser(HttpServletRequest request,Token token) {
33+
if(userService.checkToken(token)){
34+
com.danbai.ys.entity.User user = new com.danbai.ys.entity.User();
35+
user.setUsername(token.getUsername());
36+
return ResultUtil.success(userService.getUser(user));
37+
}
3438
return ResultUtil.success(request.getSession().getAttribute("user"));
3539
}
3640

@@ -41,11 +45,23 @@ public BaseResult thisUser(HttpServletRequest request) {
4145
* @return BaseResult
4246
*/
4347
@GetMapping("/user/gkls")
44-
public BaseResult thisUserGkls(HttpServletRequest request) {
48+
public BaseResult thisUserGkls(HttpServletRequest request,Token token) {
49+
if (userService.checkToken(token)){
50+
return ResultUtil.success(ysService.getGkls(token.getUsername()));
51+
}
4552
com.danbai.ys.entity.User user = (com.danbai.ys.entity.User) request.getSession().getAttribute("user");
4653
if (user != null) {
4754
return ResultUtil.success(ysService.getGkls(user.getUsername()));
4855
}
4956
return ResultUtil.error("未登陆");
5057
}
58+
@PostMapping("/token")
59+
public BaseResult token(com.danbai.ys.entity.User user){
60+
return ResultUtil.success(userService.login(user));
61+
}
62+
@DeleteMapping("/token")
63+
public BaseResult login(Token token){
64+
userService.deleteToken(token.getUsername());
65+
return ResultUtil.successOk();
66+
}
5167
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.danbai.ys.entity;
2+
3+
import java.io.Serializable;
4+
5+
/**
6+
* @author danbai
7+
* @date 2019-11-21 14:21
8+
*/
9+
public class Token implements Serializable {
10+
private String username;
11+
private String token;
12+
public static final String TOKEN="token_";
13+
14+
public String getUsername() {
15+
return username;
16+
}
17+
18+
public void setUsername(String username) {
19+
this.username = username;
20+
}
21+
22+
public String getToken() {
23+
return token;
24+
}
25+
26+
public void setToken(String token) {
27+
this.token = token;
28+
}
29+
30+
public Token(String username, String token) {
31+
this.username = username;
32+
this.token = token;
33+
}
34+
35+
@Override
36+
public String toString() {
37+
return "Token{" +
38+
"username='" + username + '\'' +
39+
", token='" + token + '\'' +
40+
'}';
41+
}
42+
43+
public Token() {
44+
}
45+
}

src/main/java/com/danbai/ys/service/UserService.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.danbai.ys.service;
22

3+
import com.danbai.ys.entity.Token;
34
import com.danbai.ys.entity.User;
45
import org.springframework.ui.Model;
56

@@ -78,4 +79,30 @@ public interface UserService {
7879
* @return String
7980
*/
8081
String regapp(User user, String yzm);
82+
/**
83+
* 关联用户和token
84+
* @param username 用户名
85+
* @return
86+
*/
87+
Token createToken(String username);
88+
89+
/**
90+
* 检测token有效性
91+
* @param token
92+
* @return
93+
*/
94+
boolean checkToken(Token token);
95+
96+
/**
97+
* 删除token
98+
* @param username
99+
*/
100+
void deleteToken (String username);
101+
102+
/**
103+
* token登陆
104+
* @param user
105+
* @return
106+
*/
107+
Token login(User user);
81108
}

src/main/java/com/danbai/ys/service/YsService.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.danbai.ys.service;
22

3-
import com.danbai.ys.entity.Gkls;
4-
import com.danbai.ys.entity.Tvb;
5-
import com.danbai.ys.entity.VideoTime;
6-
import com.danbai.ys.entity.Ysb;
3+
import com.danbai.ys.entity.*;
74
import com.github.pagehelper.PageInfo;
85

96
import java.util.HashMap;

src/main/java/com/danbai/ys/service/impl/UserServiceImpl.java

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.danbai.ys.service.impl;
22

33
import com.alibaba.fastjson.JSON;
4+
import com.danbai.ys.entity.Token;
45
import com.danbai.ys.entity.User;
56
import com.danbai.ys.mapper.UserMapper;
67
import com.danbai.ys.service.UserService;
78
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.data.redis.core.RedisTemplate;
810
import org.springframework.stereotype.Service;
911
import org.springframework.ui.Model;
1012
import org.springframework.util.DigestUtils;
@@ -16,6 +18,8 @@
1618
import javax.servlet.http.HttpSession;
1719
import java.util.HashMap;
1820
import java.util.Map;
21+
import java.util.UUID;
22+
import java.util.concurrent.TimeUnit;
1923

2024
/**
2125
* @author danbai
@@ -27,7 +31,8 @@ public class UserServiceImpl implements UserService {
2731
UserMapper userMapper;
2832
@Autowired
2933
RegisterValidateServiceImpl registerValidateService;
30-
34+
@Autowired
35+
RedisTemplate redisTemplate;
3136
@Override
3237
public User getUser(User user) {
3338
return userMapper.selectOne(user);
@@ -161,4 +166,44 @@ public String regapp(User user, String yzm) {
161166
return JSON.toJSONString(map);
162167
}
163168

169+
@Override
170+
public Token createToken(String username) {
171+
String tokenid= UUID.randomUUID().toString().replace ("-", "");
172+
Token token=new Token(username,tokenid);
173+
redisTemplate.opsForValue().set(Token.TOKEN+username,token,7,TimeUnit.DAYS);
174+
return token;
175+
}
176+
177+
@Override
178+
public boolean checkToken(Token token) {
179+
if (token == null|token.getUsername()==null|token.getToken()==null|token.getUsername().length()<1|token.getToken().length()<1) {
180+
return false;
181+
}
182+
Token rtoken = (Token) redisTemplate.opsForValue().get(Token.TOKEN+token.getUsername());
183+
if(rtoken.getToken().equals(token.getToken())){
184+
// 如果验证成功,说明此用户进行了一次有效操作,延长 token 的过期时间
185+
redisTemplate.expire(Token.TOKEN+token.getUsername (),7, TimeUnit.DAYS);
186+
return true;
187+
}
188+
return false;
189+
}
190+
191+
@Override
192+
public void deleteToken(String username) {
193+
redisTemplate.delete(Token.TOKEN+username);
194+
}
195+
196+
@Override
197+
public Token login(User user) {
198+
if (user != null) {
199+
User user1 = new User();
200+
user1.setUsername(user.getUsername());
201+
User user2 = getUser(user1);
202+
if (user2 != null) {
203+
if (DigestUtils.md5DigestAsHex(user.getPassword().getBytes()).equals(user2.getPassword())) {
204+
return createToken(user.getUsername()); }
205+
}
206+
}
207+
return null;
208+
}
164209
}

src/main/java/com/danbai/ys/service/impl/YsServiceImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.danbai.ys.utils.DateUtils;
1010
import com.github.pagehelper.PageHelper;
1111
import com.github.pagehelper.PageInfo;
12-
import org.apache.ibatis.session.RowBounds;
1312
import org.springframework.beans.factory.annotation.Autowired;
1413
import org.springframework.data.mongodb.core.MongoTemplate;
1514
import org.springframework.data.mongodb.core.query.Criteria;

src/main/resources/application.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ spring:
1212
date-format: yyyy-MM-dd HH:mm:ss
1313
data:
1414
mongodb:
15-
uri: mongodb://danmu:danmu@127.0.0.1:27017/dm
15+
uri: mongodb://danmu:danmu@39.108.110.44:27017/dm
1616
thymeleaf:
1717
cache: false
1818
mode: LEGACYHTML5
1919
datasource:
2020
druid:
21-
url: jdbc:mysql://127.0.0.1:3306/ys?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
21+
url: jdbc:mysql://39.108.110.44:3306/ys?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
2222
username: ys
2323
password: hjj225
2424
initial-size: 1
@@ -28,7 +28,7 @@ spring:
2828
driver-class-name: com.mysql.cj.jdbc.Driver
2929
redis:
3030
database: 0
31-
host: 127.0.0.1
31+
host: 39.108.110.44
3232
password: danbai225
3333
port: 6379
3434
timeout: 3000

src/main/resources/jdbc.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
jdbc.driverClass=com.mysql.jdbc.Driver
2-
jdbc.connectionURL=jdbc:mysql://127.0.0.1:3306/ys?useUnicode=true&characterEncoding=utf-8&useSSL=false
2+
jdbc.connectionURL=jdbc:mysql://39.108.110.44:3306/ys?useUnicode=true&characterEncoding=utf-8&useSSL=false
33
jdbc.username=ys
44
jdbc.password=hjj225

0 commit comments

Comments
 (0)