Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
段启岩
beyond-clouds
Commits
5d92b631
Commit
5d92b631
authored
Feb 16, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户拉黑后判断
parent
dd2413ea
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
24 deletions
+35
-24
src/main/java/cn/meteor/beyondclouds/core/interceptor/TokenInterceptor.java
+15
-4
src/main/java/cn/meteor/beyondclouds/modules/user/enums/UserErrorCode.java
+20
-20
No files found.
src/main/java/cn/meteor/beyondclouds/core/interceptor/TokenInterceptor.java
View file @
5d92b631
...
...
@@ -6,16 +6,18 @@ import cn.meteor.beyondclouds.core.constant.SysConstants;
import
cn.meteor.beyondclouds.core.emuns.AuthorizationErrorCode
;
import
cn.meteor.beyondclouds.core.exception.AuthorizationException
;
import
cn.meteor.beyondclouds.core.redis.TokenManager
;
import
cn.meteor.beyondclouds.util.JwtUtils
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.enums.UserErrorCode
;
import
cn.meteor.beyondclouds.modules.user.enums.UserStatus
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.util.RequestUtils
;
import
cn.meteor.beyondclouds.util.ThreadLocalMap
;
import
com.auth0.jwt.interfaces.Claim
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Map
;
/**
* Token拦截器,根据token信息解析出subject
...
...
@@ -30,8 +32,11 @@ public class TokenInterceptor implements HandlerInterceptor {
private
TokenManager
tokenManager
;
public
TokenInterceptor
(
TokenManager
tokenManager
)
{
private
IUserService
userService
;
public
TokenInterceptor
(
TokenManager
tokenManager
,
IUserService
userService
)
{
this
.
tokenManager
=
tokenManager
;
this
.
userService
=
userService
;
}
@Override
...
...
@@ -64,6 +69,12 @@ public class TokenInterceptor implements HandlerInterceptor {
if
(
null
==
userId
)
{
throw
new
AuthorizationException
(
AuthorizationErrorCode
.
SIGN_VERIFY_FAILURE
);
}
// 用户如果被封号,则直接返回错误
User
user
=
userService
.
getById
(
userId
);
if
(!
user
.
getStatus
().
equals
(
UserStatus
.
NORMAL
.
getStatus
()))
{
throw
new
UserServiceException
(
UserErrorCode
.
USER_DISABLED
);
}
// 构建一个经过系统认证的subject
Subject
authenticatedSubject
=
Subject
.
authenticated
(
userId
,
RequestUtils
.
getIpAddr
(
request
));
ThreadLocalMap
.
put
(
SysConstants
.
HTTP_ATTRIBUTE_SUBJECT
,
authenticatedSubject
);
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/enums/UserErrorCode.java
View file @
5d92b631
...
...
@@ -11,26 +11,26 @@ public enum UserErrorCode implements IErrorCode {
/**
* 手机号已经被注册//
*/
MOBILE_REGISTERED
(
1001
,
"该手机号已被占用"
),
EMAIL_REGISTERED
(
1002
,
"该邮箱已被占用"
),
REG_VERIFY_CODE_ERROR
(
1003
,
"验证码错误"
),
CAN_NOT_FOLLOW_SELF
(
1004
,
"不能关注自己"
),
FOLLOWED_USER_NOT_EXISTS
(
1005
,
"被关注用户不存在"
),
FOLLOWER_USER_NOT_EXISTS
(
1006
,
"关注者不存在"
),
ALREADY_FOLLOWED
(
1007
,
"已关注过该用户"
),
NON_FOLLOWED
(
1008
,
"没有关注过该用户"
),
USER_ALREADY_BLACKED
(
1009
,
"用户已经被你拉进黑名单"
),
YOU_ALREADY_BLACKED
(
10010
,
"你已经被对方拉进黑名单"
),
CAN_NOT_BLACK_SELF
(
10011
,
"不能拉黑自己"
),
USER_NOT_BLACKED
(
10012
,
"用户没有被拉黑"
),
INVALID_ACTIVE_CODE
(
10013
,
"非法的激活码"
),
BINDING_EMAIL_VERIFY_CODE_ERROR
(
10014
,
"邮箱验证码错误"
),
BINDING_MOBILE_VERIFY_CODE_ERROR
(
10015
,
"手机验证码错误"
),
NON_LOCAL_AUTH_INFO
(
10016
,
"该手机未注册"
),
USER_NOT_EXISTS
(
10017
,
"要查看的用户不存在"
),
USER_NICK_NAME_USED
(
10018
,
"该昵称已存在"
),
NICK_MODIFY_UPPER_LIMIT
(
10019
,
"本月昵称修改次数已达上限"
),
USER_DISABLED
(
10020
,
"您已被封号,请联系管理员解封"
);
MOBILE_REGISTERED
(
1
3
001
,
"该手机号已被占用"
),
EMAIL_REGISTERED
(
1
3
002
,
"该邮箱已被占用"
),
REG_VERIFY_CODE_ERROR
(
1
3
003
,
"验证码错误"
),
CAN_NOT_FOLLOW_SELF
(
1
3
004
,
"不能关注自己"
),
FOLLOWED_USER_NOT_EXISTS
(
1
3
005
,
"被关注用户不存在"
),
FOLLOWER_USER_NOT_EXISTS
(
1
3
006
,
"关注者不存在"
),
ALREADY_FOLLOWED
(
1
3
007
,
"已关注过该用户"
),
NON_FOLLOWED
(
1
3
008
,
"没有关注过该用户"
),
USER_ALREADY_BLACKED
(
1
3
009
,
"用户已经被你拉进黑名单"
),
YOU_ALREADY_BLACKED
(
1
3
0010
,
"你已经被对方拉进黑名单"
),
CAN_NOT_BLACK_SELF
(
1
3
0011
,
"不能拉黑自己"
),
USER_NOT_BLACKED
(
1
3
0012
,
"用户没有被拉黑"
),
INVALID_ACTIVE_CODE
(
1
3
0013
,
"非法的激活码"
),
BINDING_EMAIL_VERIFY_CODE_ERROR
(
1
3
0014
,
"邮箱验证码错误"
),
BINDING_MOBILE_VERIFY_CODE_ERROR
(
1
3
0015
,
"手机验证码错误"
),
NON_LOCAL_AUTH_INFO
(
1
3
0016
,
"该手机未注册"
),
USER_NOT_EXISTS
(
1
3
0017
,
"要查看的用户不存在"
),
USER_NICK_NAME_USED
(
1
3
0018
,
"该昵称已存在"
),
NICK_MODIFY_UPPER_LIMIT
(
1
3
0019
,
"本月昵称修改次数已达上限"
),
USER_DISABLED
(
1
3
0020
,
"您已被封号,请联系管理员解封"
);
UserErrorCode
(
long
code
,
String
msg
)
{
this
.
code
=
code
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment