Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz4j Spring R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7后台标准模板
iBiz4j Spring R7
提交
f0878a49
提交
f0878a49
编写于
5月 06, 2020
作者:
zhouweidong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UAA登录
上级
111d1057
变更
6
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
99 行增加
和
77 行删除
+99
-77
IBZUAAFallback.java.ftl
...in/java/%SYS_PKGPATH%/util/client/IBZUAAFallback.java.ftl
+4
-3
IBZUAAFeignClient.java.ftl
...java/%SYS_PKGPATH%/util/client/IBZUAAFeignClient.java.ftl
+10
-11
AuthPermissionEvaluator.java.ftl
...S_PKGPATH%/util/security/AuthPermissionEvaluator.java.ftl
+13
-25
AuthenticationUser.java.ftl
...a/%SYS_PKGPATH%/util/security/AuthenticationUser.java.ftl
+2
-3
IBZUAAUserService.java.ftl
...ava/%SYS_PKGPATH%/util/service/IBZUAAUserService.java.ftl
+70
-0
SimpleUserService.java.ftl
...ava/%SYS_PKGPATH%/util/service/SimpleUserService.java.ftl
+0
-35
未找到文件。
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/client/IBZUAAFallback.java.ftl
浏览文件 @
f0878a49
...
...
@@ -3,7 +3,8 @@ TARGET=PSSYSTEM
</#
ibiztemplate
>
package
${
pub
.
getPKGCodeName
()}.
util
.
client
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthenticationUser
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthorizationLogin
;
import
org
.
springframework
.
stereotype
.
Component
;
import
java
.
util
.
Map
;
...
...
@@ -11,12 +12,12 @@ import java.util.Map;
public
class
IBZUAAFallback
implements
IBZUAAFeignClient
{
@
Override
public
JSONObject
getUserPermissionData
(
String
loginName
,
String
systemId
)
{
public
Map
<
String
,
Object
>
pushSystemPermissionData
(
Map
<
String
,
Object
>
systemPermissionData
,
String
systemId
)
{
return
null
;
}
@
Override
public
Map
<
String
,
Object
>
pushSystemPermissionData
(
Map
<
String
,
Object
>
systemPermissionData
,
String
systemId
)
{
public
AuthenticationUser
login
(
AuthorizationLogin
authorizationLogin
)
{
return
null
;
}
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/client/IBZUAAFeignClient.java.ftl
浏览文件 @
f0878a49
...
...
@@ -3,7 +3,8 @@ TARGET=PSSYSTEM
</#
ibiztemplate
>
package
${
pub
.
getPKGCodeName
()}.
util
.
client
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthenticationUser
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthorizationLogin
;
import
org
.
springframework
.
cloud
.
openfeign
.
FeignClient
;
import
org
.
springframework
.
web
.
bind
.
annotation
.*;
import
java
.
util
.
Map
;
...
...
@@ -11,16 +12,6 @@ import java.util.Map;
@
FeignClient
(
value
=
"ibzuaa"
,
fallback
=
IBZUAAFallback
.
class
)
public
interface
IBZUAAFeignClient
{
/**
*
从
uaa
中获取当前用户权限
*
@
param
loginName
*
@
param
systemId
*
@
return
*/
@
GetMapping
(
value
=
"/uaa/permission/{loginname}"
)
JSONObject
getUserPermissionData
(@
PathVariable
(
"loginname"
)
String
loginName
,
@
RequestParam
(
"systemid"
)
String
systemId
);
/**
*
推送系统权限数据到
uaa
*
@
param
systemPermissionData
...
...
@@ -30,4 +21,12 @@ public interface IBZUAAFeignClient
@
PostMapping
(
"/uaa/permission/save"
)
Map
<
String
,
Object
>
pushSystemPermissionData
(@
RequestBody
Map
<
String
,
Object
>
systemPermissionData
,
@
RequestParam
(
"systemid"
)
String
systemId
);
/**
*
用户登录
*
@
param
authorizationLogin
登录信息
*
@
return
*/
@
PostMapping
(
value
=
"/uaa/authentication/login"
)
AuthenticationUser
login
(@
RequestBody
AuthorizationLogin
authorizationLogin
);
}
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/security/AuthPermissionEvaluator.java.ftl
浏览文件 @
f0878a49
...
...
@@ -7,8 +7,6 @@ import com.alibaba.fastjson.JSONArray;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
com
.
baomidou
.
mybatisplus
.
core
.
conditions
.
query
.
QueryWrapper
;
import
com
.
baomidou
.
mybatisplus
.
extension
.
service
.
impl
.
ServiceImpl
;
import
com
.
mongodb
.
BasicDBList
;
import
com
.
mongodb
.
BasicDBObject
;
import
com
.
mongodb
.
QueryBuilder
;
import
${
pub
.
getPKGCodeName
()}.
util
.
annotation
.
DEField
;
import
${
pub
.
getPKGCodeName
()}.
util
.
domain
.
EntityBase
;
...
...
@@ -16,9 +14,7 @@ import ${pub.getPKGCodeName()}.util.enums.DEPredefinedFieldType;
import
${
pub
.
getPKGCodeName
()}.
util
.
filter
.
QueryBuildContext
;
import
${
pub
.
getPKGCodeName
()}.
util
.
filter
.
QueryWrapperContext
;
import
${
pub
.
getPKGCodeName
()}.
util
.
helper
.
DEFieldCacheMap
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Value
;
import
org
.
springframework
.
data
.
domain
.
PageImpl
;
import
org
.
springframework
.
data
.
mongodb
.
core
.
MongoTemplate
;
import
org
.
springframework
.
data
.
mongodb
.
core
.
query
.
BasicQuery
;
import
org
.
springframework
.
data
.
mongodb
.
core
.
query
.
Query
;
...
...
@@ -28,13 +24,9 @@ import org.springframework.stereotype.Component;
import
org
.
springframework
.
util
.
ObjectUtils
;
import
org
.
springframework
.
util
.
StringUtils
;
import
javax
.
annotation
.
Resource
;
import
javax
.
swing
.
text
.
html
.
parser
.
Entity
;
import
java
.
io
.
Serializable
;
import
java
.
lang
.
reflect
.
Field
;
import
java
.
util
.
ArrayList
;
import
java
.
util
.
HashMap
;
import
java
.
util
.
List
;
import
java
.
util
.
Map
;
import
java
.
util
.*;
/**
*
spring
security
权限管理类
...
...
@@ -129,7 +121,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
//
拼接权限条件
deDataSetFillPermissionSQLRouter
(
deStorageMode
,
searchContext
,
entity
,
dataSetName
,
permissionList
);
}
return
true
;
return
true
;
}
...
...
@@ -443,13 +435,11 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
String
orgDeptField
=
permissionField
.
get
(
"orgsecfield"
);
String
createManField
=
permissionField
.
get
(
"createmanfield"
);
AuthenticationUser
authenticationUser
=
AuthenticationUser
.
getAuthenticationUser
();
JSONObject
userInfo
=
authenticationUser
.
getOrgInfo
();
JSONObject
orgObject
=
userInfo
.
getJSONObject
(
"org"
);
JSONArray
orgParent
=
orgObject
.
getJSONArray
(
"porg"
);
JSONArray
orgChild
=
orgObject
.
getJSONArray
(
"sorg"
);
JSONObject
orgDeptObject
=
userInfo
.
getJSONObject
(
"orgdept"
);
JSONArray
orgDeptParent
=
orgDeptObject
.
getJSONArray
(
"porgdept"
);
JSONArray
orgDeptChild
=
orgDeptObject
.
getJSONArray
(
"sorgdept"
);
Map
<
String
,
Set
<
String
>>
userInfo
=
authenticationUser
.
getOrgInfo
();
Set
<
String
>
orgParent
=
userInfo
.
get
(
"parentorg"
);
Set
<
String
>
orgChild
=
userInfo
.
get
(
"suborg"
);
Set
<
String
>
orgDeptParent
=
userInfo
.
get
(
"parentdept"
);
Set
<
String
>
orgDeptChild
=
userInfo
.
get
(
"subdept"
);
for
(
int
i
=
0
;
i
<
oppriList
.
size
();
i
++){
String
permissionCond
=
oppriList
.
getString
(
i
);//
权限配置条件
...
...
@@ -495,13 +485,11 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
String
createManField
=
permissionField
.
get
(
"createmanfield"
);
StringBuffer
permissionSQL
=
new
StringBuffer
();
AuthenticationUser
authenticationUser
=
AuthenticationUser
.
getAuthenticationUser
();
JSONObject
userInfo
=
authenticationUser
.
getOrgInfo
();
JSONObject
orgObject
=
userInfo
.
getJSONObject
(
"org"
);
JSONArray
orgParent
=
orgObject
.
getJSONArray
(
"porg"
);
JSONArray
orgChild
=
orgObject
.
getJSONArray
(
"sorg"
);
JSONObject
orgDeptObject
=
userInfo
.
getJSONObject
(
"orgdept"
);
JSONArray
orgDeptParent
=
orgDeptObject
.
getJSONArray
(
"porgdept"
);
JSONArray
orgDeptChild
=
orgDeptObject
.
getJSONArray
(
"sorgdept"
);
Map
<
String
,
Set
<
String
>>
userInfo
=
authenticationUser
.
getOrgInfo
();
Set
<
String
>
orgParent
=
userInfo
.
get
(
"parentorg"
);
Set
<
String
>
orgChild
=
userInfo
.
get
(
"suborg"
);
Set
<
String
>
orgDeptParent
=
userInfo
.
get
(
"parentdept"
);
Set
<
String
>
orgDeptChild
=
userInfo
.
get
(
"subdept"
);
for
(
int
i
=
0
;
i
<
oppriList
.
size
();
i
++){
permissionSQL
.
append
(
"OR"
);
...
...
@@ -610,7 +598,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
*
转换
[
a
,
b
]
格式字符串到
'a'
,
'b'
格式
*
@
return
*/
private
String
formatStringArr
(
JSONArray
array
)
{
private
String
formatStringArr
(
Set
<
String
>
array
)
{
String
[]
arr
=
array
.
toArray
(
new
String
[
array
.
size
()]);
return
"'"
+
String
.
join
(
"','"
,
arr
)
+
"'"
;
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/security/AuthenticationUser.java.ftl
浏览文件 @
f0878a49
...
...
@@ -15,6 +15,7 @@ import java.util.Map;
import
java
.
util
.
HashMap
;
import
java
.
sql
.
Timestamp
;
import
java
.
util
.
Collection
;
import
java
.
util
.
Set
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
@
Data
...
...
@@ -63,14 +64,12 @@ public class AuthenticationUser implements UserDetails
private
Collection
<
GrantedAuthority
>
authorities
;
@
JsonIgnore
private
int
superuser
;
@
JsonIgnore
private
JSONObject
permisionList
;
private
String
orglevel
;//
单位级别
private
String
deptlevel
;//
部门级别
@
JsonIgnore
private
Map
<
String
,
Object
>
userSessionParam
;//
用户自定义
session
值
@
JsonIgnore
private
JSONObject
orgInfo
;//
上下级组织信息
private
Map
<
String
,
Set
<
String
>>
orgInfo
;//
上下级组织信息
@
JsonIgnore
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/service/IBZUAAUserService.java.ftl
0 → 100644
浏览文件 @
f0878a49
<#
ibiztemplate
>
TARGET
=
PSSYSTEM
</#
ibiztemplate
>
package
${
pub
.
getPKGCodeName
()}.
util
.
service
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
${
pub
.
getPKGCodeName
()}.
util
.
client
.
IBZOUFeignClient
;
import
${
pub
.
getPKGCodeName
()}.
util
.
client
.
IBZUAAFeignClient
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthenticationUser
;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthorizationLogin
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Value
;
import
org
.
springframework
.
context
.
annotation
.
Primary
;
import
org
.
springframework
.
stereotype
.
Service
;
import
org
.
springframework
.
util
.
DigestUtils
;
import
org
.
springframework
.
util
.
StringUtils
;
/**
*
实体
[
IBZUSER
]
服务对象接口实现
*/
//@
Primary
@
Service
(
"IBZUAAUserService"
)
public
class
IBZUAAUserService
implements
AuthenticationUserService
{
@
Autowired
private
IBZUAAFeignClient
uaaFeignClient
;
@
Override
public
AuthenticationUser
loadUserByUsername
(
String
username
)
{
String
[]
data
=
username
.
split
(
"[|]"
);
String
loginname
=
username
;
String
domains
=
""
;
String
password
=
""
;
if
(
data
.
length
==
3
)
{
loginname
=
data
[
0
].
trim
();
domains
=
data
[
1
].
trim
();
password
=
data
[
2
].
trim
();
}
else
if
(
data
.
length
==
2
)
{
loginname
=
data
[
0
].
trim
();
password
=
data
[
1
].
trim
();
}
AuthorizationLogin
user
=
new
AuthorizationLogin
();
user
.
setDomain
(
domains
);
user
.
setLoginname
(
loginname
);
user
.
setPassword
(
password
);
return
uaaFeignClient
.
login
(
user
);
}
@
Override
public
AuthenticationUser
loadUserByLogin
(
String
username
,
String
password
)
{
AuthenticationUser
authuserdetail
=
loadUserByUsername
(
username
+
"|"
+
password
);
return
authuserdetail
;
}
@
Override
public
AuthenticationUser
loadUserByLogin
(
String
domain
,
String
username
,
String
password
)
{
if
(
!StringUtils.isEmpty(domain))
username
=
username
+
"|"
+
domain
;
return
loadUserByLogin
(
username
,
password
);
}
@
Override
public
void
resetByUsername
(
String
username
)
{
}
}
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/service/SimpleUserService.java.ftl
浏览文件 @
f0878a49
...
...
@@ -33,12 +33,6 @@ public class SimpleUserService implements AuthenticationUserService{
@
Value
(
"${r'$'}{ibiz.systemid:${sid}}"
)
private
String
systemid
;
@
Autowired
private
IBZUAAFeignClient
uaaFeignClient
;
@
Autowired
private
IBZOUFeignClient
ouFeignClient
;
@
Override
public
AuthenticationUser
loadUserByUsername
(
String
username
)
{
AuthenticationUser
user
=
new
AuthenticationUser
();
...
...
@@ -68,9 +62,6 @@ public class SimpleUserService implements AuthenticationUserService{
user
.
setOrgcode
(
domains
);
user
.
setOrgname
(
domains
);
setUserPermission
(
user
);
setUserOrgInfo
(
user
);
return
user
;
}
...
...
@@ -93,30 +84,4 @@ public class SimpleUserService implements AuthenticationUserService{
}
/**
*
设置用户权限
*/
private
void
setUserPermission
(
AuthenticationUser
user
)
{
if
(
enablePermissionValid
){
JSONObject
permission
=
uaaFeignClient
.
getUserPermissionData
(
user
.
getLoginname
(),
systemid
);
user
.
setPermisionList
(
permission
);
}
}
/**
*
设置用户组织相关信息
*
@
param
user
*/
private
void
setUserOrgInfo
(
AuthenticationUser
user
)
{
if
(
enablePermissionValid
)
{
JSONObject
orgInfo
=
ouFeignClient
.
getOrgInfo
(
user
.
getLoginname
());
if
(
orgInfo
==
null
)
throw
new
RuntimeException
(
"获取用户信息失败,请检查用户中心[IBZOU]中是否存在当前用户!"
);
JSONObject
curUser
=
orgInfo
.
getJSONObject
(
"curuser"
);
user
.
setOrgInfo
(
orgInfo
);
user
.
setMdeptid
(
curUser
.
getString
(
"orgdept"
));
user
.
setOrgid
(
curUser
.
getString
(
"org"
));
}
}
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录