Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lzh_me
Sureness
提交
f3f2870c
Sureness
项目概览
lzh_me
/
Sureness
与 Fork 源项目一致
Fork自
sureness / Sureness
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Sureness
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f3f2870c
编写于
7月 21, 2021
作者:
“
“ChineseTony“
浏览文件
操作
浏览文件
下载
差异文件
t push origin masterMerge branch 'dromara-master'
上级
28172016
c51ac0cf
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
211 addition
and
17 deletion
+211
-17
core/src/main/java/com/usthe/sureness/mgt/SurenessSecurityManager.java
.../java/com/usthe/sureness/mgt/SurenessSecurityManager.java
+1
-2
core/src/main/java/com/usthe/sureness/processor/exception/UnsupportedSubjectException.java
...ness/processor/exception/UnsupportedSubjectException.java
+13
-0
core/src/main/java/com/usthe/sureness/processor/support/DigestProcessor.java
...com/usthe/sureness/processor/support/DigestProcessor.java
+3
-3
core/src/main/java/com/usthe/sureness/processor/support/JwtProcessor.java
...va/com/usthe/sureness/processor/support/JwtProcessor.java
+5
-5
core/src/main/java/com/usthe/sureness/processor/support/PasswordProcessor.java
...m/usthe/sureness/processor/support/PasswordProcessor.java
+4
-4
core/src/main/java/com/usthe/sureness/subject/Subject.java
core/src/main/java/com/usthe/sureness/subject/Subject.java
+30
-0
core/src/main/java/com/usthe/sureness/subject/support/DigestSubject.java
...ava/com/usthe/sureness/subject/support/DigestSubject.java
+26
-0
core/src/main/java/com/usthe/sureness/subject/support/JwtSubject.java
...n/java/com/usthe/sureness/subject/support/JwtSubject.java
+26
-0
core/src/main/java/com/usthe/sureness/subject/support/NoneSubject.java
.../java/com/usthe/sureness/subject/support/NoneSubject.java
+23
-0
core/src/main/java/com/usthe/sureness/subject/support/PasswordSubject.java
...a/com/usthe/sureness/subject/support/PasswordSubject.java
+26
-0
core/src/main/java/com/usthe/sureness/subject/support/SessionSubject.java
...va/com/usthe/sureness/subject/support/SessionSubject.java
+24
-0
sample-tom/src/main/java/com/usthe/sureness/sample/tom/sureness/processor/CustomTokenProcessor.java
...s/sample/tom/sureness/processor/CustomTokenProcessor.java
+4
-3
sample-tom/src/main/java/com/usthe/sureness/sample/tom/sureness/subject/CustomTokenSubject.java
...eness/sample/tom/sureness/subject/CustomTokenSubject.java
+26
-0
未找到文件。
core/src/main/java/com/usthe/sureness/mgt/SurenessSecurityManager.java
浏览文件 @
f3f2870c
...
...
@@ -69,8 +69,7 @@ public class SurenessSecurityManager implements SecurityManager {
// Create a subject list to try auth one by one
List
<
Subject
>
subjectList
=
createSubject
(
request
);
RuntimeException
lastException
=
new
UnsupportedSubjectException
(
"this request can not "
+
"create subject by creators,please config no subject creator by default"
);
RuntimeException
lastException
=
UnsupportedSubjectException
.
getDefaultInstance
();
// for the subject keys, try one by one
// if one success, pass and return directly
...
...
core/src/main/java/com/usthe/sureness/processor/exception/UnsupportedSubjectException.java
浏览文件 @
f3f2870c
...
...
@@ -11,4 +11,17 @@ public class UnsupportedSubjectException extends SurenessAuthenticationException
public
UnsupportedSubjectException
(
String
message
)
{
super
(
message
);
}
/**
* single instance for UnsupportedSubjectException
* @return instance exception
*/
public
static
RuntimeException
getDefaultInstance
()
{
return
Instance
.
INSTANCE
;
}
private
static
class
Instance
{
private
static
final
RuntimeException
INSTANCE
=
new
UnsupportedSubjectException
(
"this request can not "
+
"create subject by creators,please config no subject creator by default"
);
}
}
core/src/main/java/com/usthe/sureness/processor/support/DigestProcessor.java
浏览文件 @
f3f2870c
...
...
@@ -82,9 +82,9 @@ public class DigestProcessor extends BaseProcessor {
if
(
account
.
isExcessiveAttempts
())
{
throw
new
ExcessiveAttemptsException
(
"account is disable due to many time authenticated, try later"
);
}
return
DigestSubject
.
builder
(
var
)
.
setOwnRoles
(
account
.
getOwnRoles
())
.
build
()
;
// attention: need to set subject own roles from account
var
.
setOwnRoles
(
account
.
getOwnRoles
());
return
var
;
}
private
String
getAuthenticate
(){
...
...
core/src/main/java/com/usthe/sureness/processor/support/JwtProcessor.java
浏览文件 @
f3f2870c
...
...
@@ -64,18 +64,18 @@ public class JwtProcessor extends BaseProcessor {
}
throw
new
ExpiredCredentialsException
(
"this jwt has expired"
);
}
JwtSubject
.
Builder
builder
=
JwtSubject
.
builder
(
var
)
.
setPrincipal
(
claims
.
getSubject
());
// attention: need to set subject own roles from account
var
.
setPrincipal
(
claims
.
getSubject
());
List
<
String
>
ownRoles
=
claims
.
get
(
"roles"
,
List
.
class
);
if
(
ownRoles
!=
null
)
{
builde
r
.
setOwnRoles
(
ownRoles
);
va
r
.
setOwnRoles
(
ownRoles
);
}
PrincipalMap
principalMap
=
new
SinglePrincipalMap
();
for
(
Map
.
Entry
<
String
,
Object
>
claimEntry
:
claims
.
entrySet
())
{
principalMap
.
setPrincipal
(
claimEntry
.
getKey
(),
claimEntry
.
getValue
());
}
builde
r
.
setPrincipalMap
(
principalMap
);
return
builder
.
build
()
;
va
r
.
setPrincipalMap
(
principalMap
);
return
var
;
}
}
core/src/main/java/com/usthe/sureness/processor/support/PasswordProcessor.java
浏览文件 @
f3f2870c
...
...
@@ -46,7 +46,7 @@ public class PasswordProcessor extends BaseProcessor {
logger
.
debug
(
"PasswordProcessor authenticated fail, no this user: {}"
,
var
.
getPrincipal
());
}
throw
new
UnknownAccountException
(
"do not exist the account: "
+
appId
);
throw
new
UnknownAccountException
(
"do not exist the account: "
+
appId
);
}
if
(
var
.
getCredential
()
!=
null
&&
account
.
getPassword
()
!=
null
)
{
String
password
=
String
.
valueOf
(
var
.
getCredential
());
...
...
@@ -67,9 +67,9 @@ public class PasswordProcessor extends BaseProcessor {
if
(
account
.
isExcessiveAttempts
())
{
throw
new
ExcessiveAttemptsException
(
"account is disable due to many time authenticated, try later"
);
}
return
PasswordSubject
.
builder
(
var
)
.
setOwnRoles
(
account
.
getOwnRoles
())
.
build
()
;
// attention: need to set subject own roles from account
var
.
setOwnRoles
(
account
.
getOwnRoles
());
return
var
;
}
public
void
setAccountProvider
(
SurenessAccountProvider
provider
)
{
...
...
core/src/main/java/com/usthe/sureness/subject/Subject.java
浏览文件 @
f3f2870c
...
...
@@ -20,6 +20,12 @@ public interface Subject extends Serializable {
*/
Object
getPrincipal
();
/**
* set account appId, eg:username
* @param var1 principal
*/
void
setPrincipal
(
Object
var1
);
/**
* map for principals, key-value
* eg: id-idValue, customName-value, issuer-value
...
...
@@ -27,6 +33,12 @@ public interface Subject extends Serializable {
*/
PrincipalMap
getPrincipalMap
();
/**
* set map for principals, key-value
* @param var1 principal map info
*/
void
setPrincipalMap
(
PrincipalMap
var1
);
/**
* account credential, eg:password
*
...
...
@@ -34,6 +46,12 @@ public interface Subject extends Serializable {
*/
Object
getCredential
();
/**
* set account credential, eg:password
* @param var1 credential
*/
void
setCredential
(
Object
var1
);
/**
* get the roles owned by this account
*
...
...
@@ -41,6 +59,12 @@ public interface Subject extends Serializable {
*/
Object
getOwnRoles
();
/**
* set the roles owned by this account
* @param var1 own roles
*/
void
setOwnRoles
(
Object
var1
);
/**
* get the target resource uri which this account want access
*
...
...
@@ -48,6 +72,12 @@ public interface Subject extends Serializable {
*/
Object
getTargetResource
();
/**
* set the target resource uri which this account want access
* @param var1 resource uri
*/
void
setTargetResource
(
Object
var1
);
/**
* get the Roles which can access this resource above-targetUri
*
...
...
core/src/main/java/com/usthe/sureness/subject/support/DigestSubject.java
浏览文件 @
f3f2870c
...
...
@@ -80,26 +80,52 @@ public class DigestSubject implements Subject {
return
appId
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
this
.
appId
=
(
String
)
var1
;
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
principalMap
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
this
.
principalMap
=
var1
;
}
@Override
public
Object
getCredential
()
{
return
response
;
}
@Override
public
void
setCredential
(
Object
var1
)
{
this
.
response
=
(
String
)
var1
;
}
@Override
public
Object
getOwnRoles
()
{
return
ownRoles
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
setOwnRoles
(
Object
var1
)
{
this
.
ownRoles
=
(
List
<
String
>)
var1
;
}
@Override
public
Object
getTargetResource
()
{
return
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
var1
;
}
@Override
public
Object
getSupportRoles
()
{
return
supportRoles
;
...
...
core/src/main/java/com/usthe/sureness/subject/support/JwtSubject.java
浏览文件 @
f3f2870c
...
...
@@ -54,26 +54,52 @@ public class JwtSubject implements Subject {
return
this
.
appId
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
this
.
appId
=
(
String
)
var1
;
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
this
.
principalMap
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
this
.
principalMap
=
var1
;
}
@Override
public
Object
getCredential
()
{
return
this
.
jwt
;
}
@Override
public
void
setCredential
(
Object
var1
)
{
this
.
jwt
=
(
String
)
var1
;
}
@Override
public
Object
getOwnRoles
()
{
return
this
.
ownRoles
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
setOwnRoles
(
Object
var1
)
{
this
.
ownRoles
=
(
List
<
String
>)
var1
;
}
@Override
public
Object
getTargetResource
()
{
return
this
.
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
var1
;
}
@Override
public
Object
getSupportRoles
()
{
return
this
.
supportRoles
;
...
...
core/src/main/java/com/usthe/sureness/subject/support/NoneSubject.java
浏览文件 @
f3f2870c
...
...
@@ -38,26 +38,49 @@ public class NoneSubject implements Subject {
return
null
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
null
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
}
@Override
public
Object
getCredential
()
{
return
null
;
}
@Override
public
void
setCredential
(
Object
var1
)
{
}
@Override
public
Object
getOwnRoles
()
{
return
null
;
}
@Override
public
void
setOwnRoles
(
Object
var1
)
{}
@Override
public
Object
getTargetResource
()
{
return
this
.
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
var1
;
}
@Override
public
Object
getSupportRoles
()
{
return
this
.
supportRoles
;
...
...
core/src/main/java/com/usthe/sureness/subject/support/PasswordSubject.java
浏览文件 @
f3f2870c
...
...
@@ -50,26 +50,52 @@ public class PasswordSubject implements Subject {
return
this
.
appId
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
this
.
appId
=
(
String
)
var1
;
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
this
.
principalMap
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
this
.
principalMap
=
var1
;
}
@Override
public
Object
getCredential
()
{
return
this
.
password
;
}
@Override
public
void
setCredential
(
Object
var1
)
{
this
.
password
=
(
String
)
var1
;
}
@Override
public
Object
getOwnRoles
()
{
return
this
.
ownRoles
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
setOwnRoles
(
Object
var1
)
{
this
.
ownRoles
=
(
List
<
String
>)
var1
;
}
@Override
public
Object
getTargetResource
()
{
return
this
.
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
var1
;
}
@Override
public
Object
getSupportRoles
()
{
return
supportRoles
;
...
...
core/src/main/java/com/usthe/sureness/subject/support/SessionSubject.java
浏览文件 @
f3f2870c
...
...
@@ -47,26 +47,50 @@ public class SessionSubject implements Subject {
return
this
.
principal
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
this
.
principal
=
(
String
)
var1
;
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
this
.
principalMap
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
this
.
principalMap
=
var1
;
}
@Override
public
Object
getCredential
()
{
return
null
;
}
@Override
public
void
setCredential
(
Object
var1
)
{}
@Override
public
Object
getOwnRoles
()
{
return
this
.
ownRoles
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
setOwnRoles
(
Object
var1
)
{
this
.
ownRoles
=
(
List
<
String
>)
var1
;
}
@Override
public
Object
getTargetResource
()
{
return
this
.
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
var1
;
}
@Override
public
Object
getSupportRoles
()
{
return
this
.
supportRoles
;
...
...
sample-tom/src/main/java/com/usthe/sureness/sample/tom/sureness/processor/CustomTokenProcessor.java
浏览文件 @
f3f2870c
...
...
@@ -49,9 +49,10 @@ public class CustomTokenProcessor extends BaseProcessor {
// auth passed
String
appId
=
tokenArr
[
0
];
SurenessAccount
account
=
accountProvider
.
loadAccount
(
appId
);
return
CustomTokenSubject
.
builder
(
var
)
.
setPrincipal
(
appId
)
.
setOwnRoles
(
account
.
getOwnRoles
()).
build
();
// attention: need to set subject own roles from account
var
.
setPrincipal
(
appId
);
var
.
setOwnRoles
(
account
.
getOwnRoles
());
return
var
;
}
else
{
// token expired or not exist, if token can refresh, refresh it
...
...
sample-tom/src/main/java/com/usthe/sureness/sample/tom/sureness/subject/CustomTokenSubject.java
浏览文件 @
f3f2870c
...
...
@@ -50,26 +50,52 @@ public class CustomTokenSubject implements Subject {
return
this
.
appId
;
}
@Override
public
void
setPrincipal
(
Object
var1
)
{
this
.
appId
=
(
String
)
appId
;
}
@Override
public
PrincipalMap
getPrincipalMap
()
{
return
null
;
}
@Override
public
void
setPrincipalMap
(
PrincipalMap
var1
)
{
}
@Override
public
Object
getCredential
()
{
return
this
.
token
;
}
@Override
public
void
setCredential
(
Object
var1
)
{
this
.
token
=
(
String
)
token
;
}
@Override
public
Object
getOwnRoles
()
{
return
this
.
ownRoles
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
setOwnRoles
(
Object
var1
)
{
this
.
ownRoles
=
(
List
<
String
>)
var1
;
}
@Override
public
Object
getTargetResource
()
{
return
this
.
targetUri
;
}
@Override
public
void
setTargetResource
(
Object
var1
)
{
this
.
targetUri
=
(
String
)
targetUri
;
}
@Override
public
Object
getSupportRoles
()
{
return
this
.
supportRoles
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录