Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-enterprise-base
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
base_platform_enterprise
gic-enterprise-base
Commits
1f1eaf35
Commit
1f1eaf35
authored
Sep 06, 2019
by
陶光胜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
ce8125f4
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
109 additions
and
36 deletions
+109
-36
ServiceValidateFilter.java
...java/com/gic/enterprise/filter/ServiceValidateFilter.java
+51
-0
UserDetailFilter.java
...main/java/com/gic/enterprise/filter/UserDetailFilter.java
+0
-20
UserTokenFilter.java
.../main/java/com/gic/enterprise/filter/UserTokenFilter.java
+30
-0
TokenUtils.java
...pi/src/main/java/com/gic/enterprise/utils/TokenUtils.java
+18
-0
UserDetailUtils.java
...c/main/java/com/gic/enterprise/utils/UserDetailUtils.java
+4
-0
com.alibaba.dubbo.rpc.Filter
...rces/META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Filter
+3
-2
gic-enterprise-base.iml
gic-enterprise-base.iml
+0
-13
AuthInterceptor.java
.../java/com/gic/enterprise/interceptor/AuthInterceptor.java
+3
-1
No files found.
gic-enterprise-base-api/src/main/java/com/gic/enterprise/filter/ServiceValidateFilter.java
0 → 100644
View file @
1f1eaf35
package
com
.
gic
.
enterprise
.
filter
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.enterprise.constants.Constants
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.dubbo.common.constants.CommonConstants
;
import
org.apache.dubbo.common.extension.Activate
;
import
org.apache.dubbo.rpc.*
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Method
;
import
java.util.Map
;
@Activate
(
group
=
{
CommonConstants
.
PROVIDER
})
public
class
ServiceValidateFilter
implements
Filter
{
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
String
token
=
invocation
.
getAttachment
(
Constants
.
USER_TOKEN
);
RpcContext
.
getContext
();
if
(
StringUtils
.
isNotBlank
(
token
)){
RpcContext
.
getContext
().
setAttachment
(
Constants
.
USER_TOKEN
,
token
);
}
System
.
out
.
println
(
"profilter attachments"
+
JSON
.
toJSONString
(
invocation
.
getAttachments
()));
System
.
out
.
println
(
"参数:"
+
JSON
.
toJSONString
(
invocation
.
getArguments
()));
Class
<?>[]
parameterTypes
=
invocation
.
getParameterTypes
();
String
methodName
=
invocation
.
getMethodName
();
Method
[]
declaredMethods
=
invoker
.
getInterface
().
getDeclaredMethods
();
for
(
Method
method
:
declaredMethods
){
if
(
method
.
getName
().
equals
(
methodName
)
&&
checkMethodParameter
(
parameterTypes
,
method
.
getParameterTypes
())){
for
(
int
i
=
0
;
i
<
parameterTypes
.
length
;
i
++){
Class
<?>
parameterType
=
parameterTypes
[
i
];
Annotation
[]
annotations
=
parameterType
.
getAnnotations
();
}
}
}
return
invoker
.
invoke
(
invocation
);
}
private
boolean
checkMethodParameter
(
Class
<?>[]
parameterTypes
,
Class
<?>[]
parameterTypes2
){
if
(
parameterTypes
.
length
!=
parameterTypes2
.
length
){
return
false
;
}
for
(
int
i
=
0
;
i
<
parameterTypes
.
length
;
i
++){
if
(!
parameterTypes
[
i
].
equals
(
parameterTypes2
[
i
])){
return
false
;
}
}
return
true
;
}
}
gic-enterprise-base-api/src/main/java/com/gic/enterprise/filter/UserDetailFilter.java
deleted
100644 → 0
View file @
ce8125f4
package
com
.
gic
.
enterprise
.
filter
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.enterprise.utils.UserDetailUtils
;
import
org.apache.dubbo.common.constants.CommonConstants
;
import
org.apache.dubbo.common.extension.Activate
;
import
org.apache.dubbo.rpc.*
;
import
java.util.Map
;
@Activate
(
group
=
{
CommonConstants
.
PROVIDER
})
public
class
UserDetailFilter
implements
Filter
{
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
RpcContext
context
=
RpcContext
.
getContext
();
Map
<
String
,
String
>
attachments
=
context
.
getAttachments
();
System
.
out
.
println
(
"filter attachments"
+
JSON
.
toJSONString
(
attachments
));
return
invoker
.
invoke
(
invocation
);
}
}
gic-enterprise-base-api/src/main/java/com/gic/enterprise/filter/UserTokenFilter.java
0 → 100644
View file @
1f1eaf35
package
com
.
gic
.
enterprise
.
filter
;
import
com.gic.enterprise.constants.Constants
;
import
com.gic.enterprise.utils.TokenUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.dubbo.common.constants.CommonConstants
;
import
org.apache.dubbo.common.extension.Activate
;
import
org.apache.dubbo.rpc.*
;
import
org.apache.dubbo.rpc.filter.ConsumerContextFilter
;
@Activate
(
group
=
{
CommonConstants
.
CONSUMER
},
order
=
-
1000
)
public
class
UserTokenFilter
implements
Filter
{
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
String
token
=
invocation
.
getAttachment
(
Constants
.
USER_TOKEN
);
RpcContext
rpcContext
=
RpcContext
.
getContext
();
if
(
StringUtils
.
isNotBlank
(
token
)){
TokenUtils
.
set
(
token
);
RpcContext
.
getContext
().
setAttachment
(
Constants
.
USER_TOKEN
,
token
);
}
else
{
RpcContext
.
getContext
().
setAttachment
(
Constants
.
USER_TOKEN
,
TokenUtils
.
get
());
}
try
{
return
invoker
.
invoke
(
invocation
);
}
finally
{
TokenUtils
.
remove
();
}
}
}
gic-enterprise-base-api/src/main/java/com/gic/enterprise/utils/TokenUtils.java
0 → 100644
View file @
1f1eaf35
package
com
.
gic
.
enterprise
.
utils
;
public
class
TokenUtils
{
private
static
ThreadLocal
<
String
>
tokenThreadLocal
=
new
ThreadLocal
<>();
public
static
void
set
(
String
token
){
tokenThreadLocal
.
set
(
token
);
}
public
static
String
get
(){
String
token
=
tokenThreadLocal
.
get
();
return
token
;
}
public
static
void
remove
(){
tokenThreadLocal
.
remove
();
}
}
gic-enterprise-base-api/src/main/java/com/gic/enterprise/utils/UserDetailUtils.java
View file @
1f1eaf35
...
...
@@ -9,4 +9,8 @@ public class UserDetailUtils {
public
static
void
setUserDetail
(
UserDetail
userDetail
){
UserContext
.
getContext
().
init
(
userDetail
);
}
public
static
void
destory
(){
UserContext
.
getContext
().
destory
();
}
}
gic-enterprise-base-api/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.rpc.Filter
View file @
1f1eaf35
userDetailFilter=com.gic.enterprise.filter.UserDetailFilter
\ No newline at end of file
userTokenFilter=com.gic.enterprise.filter.UserTokenFilter
serviceValidateFilter=com.gic.enterprise.filter.ServiceValidateFilter
\ No newline at end of file
gic-enterprise-base.iml
deleted
100644 → 0
View file @
ce8125f4
<?xml version="1.0" encoding="UTF-8"?>
<module
version=
"4"
>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_8"
>
<output
url=
"file://$MODULE_DIR$/target/classes"
/>
<output-test
url=
"file://$MODULE_DIR$/target/test-classes"
/>
<content
url=
"file://$MODULE_DIR$"
>
<excludeFolder
url=
"file://$MODULE_DIR$/target"
/>
</content>
<orderEntry
type=
"inheritedJdk"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
</component>
</module>
\ No newline at end of file
gic-enterprise-common/src/main/java/com/gic/enterprise/interceptor/AuthInterceptor.java
View file @
1f1eaf35
package
com
.
gic
.
enterprise
.
interceptor
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.enterprise.constants.Constants
;
import
com.gic.enterprise.context.UserContext
;
import
com.gic.enterprise.utils.UserDetail
;
...
...
@@ -22,7 +23,8 @@ public class AuthInterceptor extends HandlerInterceptorAdapter {
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
object
)
throws
Exception
{
String
token
=
UserContext
.
getContext
().
getToken
();
RpcContext
.
getContext
().
set
(
Constants
.
USER_TOKEN
,
token
);
RpcContext
.
getContext
().
getAttachments
().
put
(
Constants
.
USER_TOKEN
,
token
);
System
.
out
.
println
(
JSON
.
toJSONString
(
RpcContext
.
getContext
().
getArguments
()));
return
true
;
}
}
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