Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MaxKey单点登录官方(MaxKeyTop)
MaxKey
提交
4c772d7a
MaxKey
项目概览
MaxKey单点登录官方(MaxKeyTop)
/
MaxKey
9 个月 前同步成功
通知
75
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MaxKey
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4c772d7a
编写于
10月 31, 2020
作者:
MaxKey单点登录官方
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ADMINISTRATORS Granted
上级
664372db
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
7 deletion
+30
-7
maxkey-web-manage/src/main/java/org/maxkey/web/interceptor/PermissionAdapter.java
...in/java/org/maxkey/web/interceptor/PermissionAdapter.java
+30
-7
未找到文件。
maxkey-web-manage/src/main/java/org/maxkey/web/interceptor/PermissionAdapter.java
浏览文件 @
4c772d7a
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
package
org.maxkey.web.interceptor
;
package
org.maxkey.web.interceptor
;
import
java.util.ArrayList
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
javax.servlet.RequestDispatcher
;
import
javax.servlet.RequestDispatcher
;
...
@@ -30,6 +31,8 @@ import org.slf4j.LoggerFactory;
...
@@ -30,6 +31,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.authority.SimpleGrantedAuthority
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
/**
/**
...
@@ -48,6 +51,12 @@ public class PermissionAdapter extends HandlerInterceptorAdapter {
...
@@ -48,6 +51,12 @@ public class PermissionAdapter extends HandlerInterceptorAdapter {
private
ApplicationConfig
applicationConfig
;
private
ApplicationConfig
applicationConfig
;
static
ConcurrentHashMap
<
String
,
String
>
navigationsMap
=
null
;
static
ConcurrentHashMap
<
String
,
String
>
navigationsMap
=
null
;
static
ArrayList
<
GrantedAuthority
>
grantedAuthoritys
=
new
ArrayList
<
GrantedAuthority
>();
static
{
grantedAuthoritys
.
add
(
new
SimpleGrantedAuthority
(
"ADMINISTRATORS"
));
}
/*
/*
* 请求前处理
* 请求前处理
* (non-Javadoc)
* (non-Javadoc)
...
@@ -58,13 +67,27 @@ public class PermissionAdapter extends HandlerInterceptorAdapter {
...
@@ -58,13 +67,27 @@ public class PermissionAdapter extends HandlerInterceptorAdapter {
_logger
.
trace
(
"PermissionAdapter preHandle"
);
_logger
.
trace
(
"PermissionAdapter preHandle"
);
//判断用户是否登录
//判断用户是否登录
if
(
WebContext
.
getAuthentication
()==
null
||
WebContext
.
getAuthentication
().
getAuthorities
()==
null
){
//判断用户和角色,判断用户是否登录用户
if
(
WebContext
.
getAuthentication
()==
null
_logger
.
trace
(
"No Authentication ... forward to /login"
);
||
WebContext
.
getAuthentication
().
getAuthorities
()==
null
){
//判断用户和角色,判断用户是否登录用户
RequestDispatcher
dispatcher
=
request
.
getRequestDispatcher
(
"/login"
);
_logger
.
trace
(
"No Authentication ... forward to /login"
);
dispatcher
.
forward
(
request
,
response
);
RequestDispatcher
dispatcher
=
request
.
getRequestDispatcher
(
"/login"
);
return
false
;
dispatcher
.
forward
(
request
,
response
);
}
return
false
;
}
boolean
isGrantedAuthority
=
false
;
for
(
GrantedAuthority
grantedAuthority
:
grantedAuthoritys
)
{
if
(
WebContext
.
getAuthentication
().
getAuthorities
().
contains
(
grantedAuthority
))
{
isGrantedAuthority
=
true
;
_logger
.
trace
(
"ADMINISTRATORS Authentication ."
);
}
}
if
(!
isGrantedAuthority
)
{
RequestDispatcher
dispatcher
=
request
.
getRequestDispatcher
(
"/logout"
);
dispatcher
.
forward
(
request
,
response
);
return
false
;
}
boolean
hasAccess
=
true
;
boolean
hasAccess
=
true
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录