Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cnooc_zydeepen-cggl_expert-manage-miniapp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
孙德龙
cnooc_zydeepen-cggl_expert-manage-miniapp
Commits
12d7d5e1
Commit
12d7d5e1
authored
Nov 12, 2025
by
kenzo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add authInterceptor
parent
0b164889
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
117 additions
and
1 deletions
+117
-1
src/main/java/com/cnooc/expert/common/interceptor/AbstractAuthInterceptor.java
+73
-0
src/main/java/com/cnooc/expert/common/interceptor/NoAuth.java
+11
-0
src/main/java/com/cnooc/expert/common/interceptor/WebAuthInterceptor.java
+11
-0
src/main/java/com/cnooc/expert/common/response/ApiResult.java
+0
-1
src/main/java/com/cnooc/expert/config/TheWebMvcConfigurer.java
+22
-0
No files found.
src/main/java/com/cnooc/expert/common/interceptor/AbstractAuthInterceptor.java
0 → 100644
View file @
12d7d5e1
package
com
.
cnooc
.
expert
.
common
.
interceptor
;
import
com.cnooc.expert.common.exception.GlobalErrorCodeConstants
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.Map
;
public
abstract
class
AbstractAuthInterceptor
implements
HandlerInterceptor
{
@Autowired
private
ObjectMapper
objectMapper
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
// 放过OPTIONS请求
if
(
"OPTIONS"
.
equals
(
request
.
getMethod
()))
{
return
true
;
}
if
(
request
.
getRequestURI
().
contains
(
"favicon.ico"
))
{
return
true
;
}
// Annotation
if
(
handler
instanceof
HandlerMethod
)
{
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
if
(
handlerMethod
.
getBean
().
getClass
().
isAnnotationPresent
(
NoAuth
.
class
))
{
return
true
;
}
}
/*if (!valid(request)) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); // 401
return false;
}*/
if
(!
valid
(
request
))
{
returnJsonResponse
(
response
,
HttpStatus
.
UNAUTHORIZED
.
value
(),
GlobalErrorCodeConstants
.
LOGIN_EXPIRED
.
getCode
(),
"Token无效或已过"
);
return
false
;
}
return
true
;
}
abstract
protected
boolean
valid
(
HttpServletRequest
request
);
private
void
returnJsonResponse
(
HttpServletResponse
response
,
int
status
,
int
httpCode
,
String
message
)
throws
IOException
{
response
.
setStatus
(
status
);
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_VALUE
);
response
.
setCharacterEncoding
(
"UTF-8"
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"httpCode"
,
httpCode
);
result
.
put
(
"message"
,
message
);
String
json
=
objectMapper
.
writeValueAsString
(
result
);
response
.
getWriter
().
write
(
json
);
response
.
getWriter
().
flush
();
}
}
src/main/java/com/cnooc/expert/common/interceptor/NoAuth.java
0 → 100644
View file @
12d7d5e1
package
com
.
cnooc
.
expert
.
common
.
interceptor
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
({
ElementType
.
TYPE
})
public
@interface
NoAuth
{
}
src/main/java/com/cnooc/expert/common/interceptor/WebAuthInterceptor.java
0 → 100644
View file @
12d7d5e1
package
com
.
cnooc
.
expert
.
common
.
interceptor
;
import
javax.servlet.http.HttpServletRequest
;
public
class
WebAuthInterceptor
extends
AbstractAuthInterceptor
{
@Override
protected
boolean
valid
(
HttpServletRequest
request
)
{
return
true
;
}
}
src/main/java/com/cnooc/expert/common/response/ApiResult.java
View file @
12d7d5e1
package
com
.
cnooc
.
expert
.
common
.
response
;
import
com.cnooc.expert.common.exception.ErrorCode
;
import
com.cnooc.expert.common.exception.GlobalErrorCodeConstants
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
src/main/java/com/cnooc/expert/config/TheWebMvcConfigurer.java
0 → 100644
View file @
12d7d5e1
package
com
.
cnooc
.
expert
.
config
;
import
com.cnooc.expert.common.interceptor.WebAuthInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
@Configuration
public
class
TheWebMvcConfigurer
implements
WebMvcConfigurer
{
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
webAuthInterceptor
());
}
@Bean
public
WebAuthInterceptor
webAuthInterceptor
()
{
return
new
WebAuthInterceptor
();
}
}
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