Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d8970c78
由
zshaohui
编写于
2023-12-21 16:20:48 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加用户权限管理
1 个父辈
652927be
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
120 行增加
和
5 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/common/utils/UserCodeUtil.java
src/main/java/com/neotel/smfcore/custom/micron20031/login/api/bean/MicronUserInfo.java
src/main/java/com/neotel/smfcore/custom/micron20031/login/config/UserRoleMenuConfig.java
src/main/java/com/neotel/smfcore/custom/micron20031/login/controller/MicronLoginController.java
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
src/main/java/com/neotel/smfcore/security/service/manager/impl/MenuManagerImpl.java
src/main/java/com/neotel/smfcore/security/service/po/User.java
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
d8970c7
...
@@ -89,7 +89,7 @@ public class DataInitManager {
...
@@ -89,7 +89,7 @@ public class DataInitManager {
operator
=
roleManager
.
save
(
operator
);
operator
=
roleManager
.
save
(
operator
);
log
.
info
(
"创建默认角色:"
+
operator
.
toString
());
log
.
info
(
"创建默认角色:"
+
operator
.
toString
());
admin
=
new
User
(
userName
,
"admin@qq.com"
,
"zh-CN"
,
role
.
getId
(),
"$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa"
,
true
,
true
,
new
Date
(),
groupIds
,
""
);
admin
=
new
User
(
userName
,
"admin@qq.com"
,
"zh-CN"
,
role
.
getId
(),
"$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa"
,
true
,
true
,
new
Date
(),
groupIds
,
""
,
new
ArrayList
<>(),
new
ArrayList
<>()
);
admin
=
userManager
.
save
(
admin
);
admin
=
userManager
.
save
(
admin
);
log
.
info
(
"创建默认用户:"
+
admin
.
toString
());
log
.
info
(
"创建默认用户:"
+
admin
.
toString
());
...
...
src/main/java/com/neotel/smfcore/common/utils/UserCodeUtil.java
查看文件 @
d8970c7
...
@@ -107,7 +107,7 @@ public class UserCodeUtil {
...
@@ -107,7 +107,7 @@ public class UserCodeUtil {
String
langu
=
""
;
String
langu
=
""
;
String
roleId
=
""
;
String
roleId
=
""
;
User
user
=
new
User
(
username
,
email
,
langu
,
roleId
,
""
,
true
User
user
=
new
User
(
username
,
email
,
langu
,
roleId
,
""
,
true
,
false
,
new
Date
(),
new
HashSet
<>(),
""
);
,
false
,
new
Date
(),
new
HashSet
<>(),
""
,
new
ArrayList
<>(),
new
ArrayList
<>()
);
user
.
setId
(
id
);
user
.
setId
(
id
);
user
.
setCreateDate
(
createData
);
user
.
setCreateDate
(
createData
);
list
.
add
(
user
);
list
.
add
(
user
);
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/login/api/bean/MicronUserInfo.java
查看文件 @
d8970c7
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.custom.micron20031.login.api.bean;
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.custom.micron20031.login.api.bean;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* {
* {
* "aud": "4b3a662e-df9a-4215-8c11-19329d82cecb",
* "aud": "4b3a662e-df9a-4215-8c11-19329d82cecb",
...
@@ -68,5 +70,7 @@ public class MicronUserInfo {
...
@@ -68,5 +70,7 @@ public class MicronUserInfo {
private
String
authmethod
;
private
String
authmethod
;
private
String
ver
;
private
String
ver
;
private
List
<
String
>
role
;
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/login/config/UserRoleMenuConfig.java
0 → 100644
查看文件 @
d8970c7
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
login
.
config
;
import
com.google.common.collect.Maps
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
UserRoleMenuConfig
{
/**
* key为镁光返回的role,vaule为菜单path
*/
static
Map
<
String
,
List
<
String
>>
roleMenuMap
=
Maps
.
newConcurrentMap
();
@PostConstruct
void
initRoleMenuMap
()
{
roleMenuMap
.
put
(
"Order"
,
getOrderMenu
());
roleMenuMap
.
put
(
"Deposit"
,
getDepositMenu
());
roleMenuMap
.
put
(
"Withdrawal"
,
getWithdrawalMenu
());
roleMenuMap
.
put
(
"Return"
,
getReturnMenu
());
roleMenuMap
.
put
(
"Remove"
,
getRemoveMenu
());
roleMenuMap
.
put
(
"Maintenance"
,
getMaintenanceMenu
());
roleMenuMap
.
put
(
"Configure"
,
getConfigureMenu
());
roleMenuMap
.
put
(
"Transaction History"
,
getTransactionHistoryMenu
());
}
public
static
List
<
String
>
getMenuByRole
(
String
role
){
return
roleMenuMap
.
get
(
role
);
}
private
List
<
String
>
getOrderMenu
()
{
return
Arrays
.
asList
(
"orderReport"
);
}
private
List
<
String
>
getDepositMenu
()
{
return
Arrays
.
asList
(
"spKanban"
);
}
private
List
<
String
>
getWithdrawalMenu
()
{
return
Arrays
.
asList
(
"spKanban"
);
}
private
List
<
String
>
getReturnMenu
()
{
return
Arrays
.
asList
(
"spKanban"
);
}
private
List
<
String
>
getRemoveMenu
()
{
return
Arrays
.
asList
(
"spRemoval"
,
"order"
,
"searchOut"
,
"singleOuput"
);
}
private
List
<
String
>
getMaintenanceMenu
()
{
return
Arrays
.
asList
(
"selfAuditManagerment"
,
"selfAudit"
,
"selfAuditLog"
);
}
private
List
<
String
>
getConfigureMenu
()
{
return
Arrays
.
asList
(
"materiel"
,
"componentParts"
,
"system"
,
"bunker"
,
"storagePos"
,
"menu"
,
"sysSetting"
,
"translation"
,
"barcodes"
,
"barcode"
,
"barcodeSetting"
,
"userManager"
,
"peoples"
,
"role"
);
}
private
List
<
String
>
getTransactionHistoryMenu
(){
return
Arrays
.
asList
(
"log"
,
"taskLog"
);
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/login/controller/MicronLoginController.java
查看文件 @
d8970c7
...
@@ -6,6 +6,7 @@ import com.neotel.smfcore.common.utils.*;
...
@@ -6,6 +6,7 @@ import com.neotel.smfcore.common.utils.*;
import
com.neotel.smfcore.custom.micron20031.login.api.MicronLoginApi
;
import
com.neotel.smfcore.custom.micron20031.login.api.MicronLoginApi
;
import
com.neotel.smfcore.custom.micron20031.login.api.bean.MicronUserInfo
;
import
com.neotel.smfcore.custom.micron20031.login.api.bean.MicronUserInfo
;
import
com.neotel.smfcore.custom.micron20031.login.config.MicronLoginConfig
;
import
com.neotel.smfcore.custom.micron20031.login.config.MicronLoginConfig
;
import
com.neotel.smfcore.custom.micron20031.login.config.UserRoleMenuConfig
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.bean.LoginProperties
;
import
com.neotel.smfcore.security.bean.LoginProperties
;
...
@@ -124,10 +125,31 @@ public class MicronLoginController {
...
@@ -124,10 +125,31 @@ public class MicronLoginController {
//123456..123
//123456..123
String
pwd
=
passwordEncoder
.
encode
(
"123456..123"
);
String
pwd
=
passwordEncoder
.
encode
(
"123456..123"
);
Role
role
=
roleManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"name"
).
is
(
"admin"
)));
Role
role
=
roleManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"name"
).
is
(
"admin"
)));
user
=
new
User
(
userInfo
.
getWinaccountname
(),
userInfo
.
getEmail
(),
"zh-CN"
,
role
.
getId
(),
pwd
,
true
,
true
,
new
Date
(),
new
HashSet
<>(),
""
);
user
=
new
User
(
userInfo
.
getWinaccountname
(),
userInfo
.
getEmail
(),
"zh-CN"
,
role
.
getId
(),
pwd
,
true
,
true
,
new
Date
(),
new
HashSet
<>(),
""
,
new
ArrayList
<>(),
new
ArrayList
<>());
user
=
userManager
.
save
(
user
);
}
}
//重新设置用户展示菜单,替换掉上一次
user
.
setShowButtonList
(
new
ArrayList
<>());
user
.
setShowList
(
new
ArrayList
<>());
//设置用户的菜单信息
List
<
String
>
roleList
=
userInfo
.
getRole
();
if
(
roleList
!=
null
&&
!
roleList
.
isEmpty
())
{
List
<
String
>
showList
=
new
ArrayList
<>();
for
(
String
role
:
roleList
)
{
List
<
String
>
menuPathList
=
UserRoleMenuConfig
.
getMenuByRole
(
role
);
if
(
menuPathList
!=
null
&&
!
menuPathList
.
isEmpty
())
{
showList
.
addAll
(
menuPathList
);
}
}
//设置用户菜单权限
user
.
setShowList
(
showList
);
//设置用户按钮权限
user
.
setShowButtonList
(
roleList
);
}
user
=
userManager
.
save
(
user
);
final
String
password
=
"123456..123"
;
final
String
password
=
"123456..123"
;
UsernamePasswordAuthenticationToken
authenticationToken
=
UsernamePasswordAuthenticationToken
authenticationToken
=
new
UsernamePasswordAuthenticationToken
(
user
.
getUsername
(),
password
);
new
UsernamePasswordAuthenticationToken
(
user
.
getUsername
(),
password
);
...
...
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
查看文件 @
d8970c7
...
@@ -31,7 +31,9 @@ import com.neotel.smfcore.security.rest.bean.mapstruct.MenuMapper;
...
@@ -31,7 +31,9 @@ import com.neotel.smfcore.security.rest.bean.mapstruct.MenuMapper;
import
com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition
;
import
com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition
;
import
com.neotel.smfcore.security.rest.bean.vo.MenuVo
;
import
com.neotel.smfcore.security.rest.bean.vo.MenuVo
;
import
com.neotel.smfcore.security.service.manager.IMenuManager
;
import
com.neotel.smfcore.security.service.manager.IMenuManager
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Menu
;
import
com.neotel.smfcore.security.service.po.Menu
;
import
com.neotel.smfcore.security.service.po.User
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
...
@@ -72,6 +74,9 @@ public class MenuController {
...
@@ -72,6 +74,9 @@ public class MenuController {
@Autowired
@Autowired
MenuInit
menuInit
;
MenuInit
menuInit
;
@Autowired
IUserManager
userManager
;
@RequestMapping
(
value
=
"/show"
)
@RequestMapping
(
value
=
"/show"
)
@AnonymousAccess
@AnonymousAccess
public
ResponseEntity
<
Object
>
show
(
@RequestParam
String
menuPath
)
{
public
ResponseEntity
<
Object
>
show
(
@RequestParam
String
menuPath
)
{
...
@@ -100,6 +105,17 @@ public class MenuController {
...
@@ -100,6 +105,17 @@ public class MenuController {
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
log
.
error
(
"获取当前用户出错:"
+
ex
);
log
.
error
(
"获取当前用户出错:"
+
ex
);
}
}
User
user
=
userManager
.
get
(
userId
);
List
<
String
>
showList
=
user
.
getShowList
();
if
(
showList
!=
null
&&
!
showList
.
isEmpty
()){
List
<
Menu
>
menuList
=
menuManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"path"
).
in
(
showList
)));
menuList
=
menuList
.
stream
().
sorted
(
Comparator
.
comparing
(
Menu:
:
getMenuSort
)).
collect
(
Collectors
.
toList
());
List
<
Menu
>
buildMenuList
=
menuManager
.
buildTree
(
menuList
);
List
<
MenuVo
>
vos
=
menuManager
.
buildMenus
(
buildMenuList
,
servletRequest
.
getLocale
());
return
new
ResponseEntity
<>(
vos
,
HttpStatus
.
OK
);
}
List
<
Menu
>
menuList
=
menuManager
.
findByUserId
(
userId
);
List
<
Menu
>
menuList
=
menuManager
.
findByUserId
(
userId
);
List
<
Menu
>
buildMenuList
=
menuManager
.
buildTree
(
menuList
);
List
<
Menu
>
buildMenuList
=
menuManager
.
buildTree
(
menuList
);
// List<MenuDto> menuDtoList = menuMapper.toDto(menuManager.buildTree(menuList));
// List<MenuDto> menuDtoList = menuMapper.toDto(menuManager.buildTree(menuList));
...
...
src/main/java/com/neotel/smfcore/security/service/manager/impl/MenuManagerImpl.java
查看文件 @
d8970c7
...
@@ -112,7 +112,7 @@ public class MenuManagerImpl implements IMenuManager {
...
@@ -112,7 +112,7 @@ public class MenuManagerImpl implements IMenuManager {
List
<
Menu
>
trees
=
new
ArrayList
<>();
List
<
Menu
>
trees
=
new
ArrayList
<>();
Set
<
String
>
ids
=
new
HashSet
<>();
Set
<
String
>
ids
=
new
HashSet
<>();
for
(
Menu
menu
:
menus
)
{
for
(
Menu
menu
:
menus
)
{
if
(
menu
.
getPid
()
==
null
)
{
if
(
StringUtils
.
isBlank
(
menu
.
getPid
())
)
{
trees
.
add
(
menu
);
trees
.
add
(
menu
);
}
}
for
(
Menu
it
:
menus
)
{
for
(
Menu
it
:
menus
)
{
...
...
src/main/java/com/neotel/smfcore/security/service/po/User.java
查看文件 @
d8970c7
...
@@ -21,7 +21,9 @@ import lombok.*;
...
@@ -21,7 +21,9 @@ import lombok.*;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
...
@@ -58,6 +60,11 @@ public class User extends BasePo implements Serializable {
...
@@ -58,6 +60,11 @@ public class User extends BasePo implements Serializable {
private
String
checkCode
;
private
String
checkCode
;
private
List
<
String
>
showList
=
new
ArrayList
<>();
private
List
<
String
>
showButtonList
=
new
ArrayList
<>();
public
boolean
hasGroup
(
String
groupId
)
{
public
boolean
hasGroup
(
String
groupId
)
{
if
(
groupId
==
null
||
groupId
.
equals
(
""
)
||
groupId
.
equals
(
"-1"
))
{
if
(
groupId
==
null
||
groupId
.
equals
(
""
)
||
groupId
.
equals
(
"-1"
))
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论