Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
d21dcba1
提交
d21dcba1
authored
3月 05, 2023
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1. 修复租户创建报错
2. 修复数据权限不生效 3. 修复操作日志记录报错
上级
25c52913
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
15 行增加
和
4 行删除
+15
-4
YudaoDeptDataPermissionAutoConfiguration.java
...sion/config/YudaoDeptDataPermissionAutoConfiguration.java
+13
-1
OperateLogAspect.java
...yudao/framework/operatelog/core/aop/OperateLogAspect.java
+1
-1
OperateLogFrameworkServiceImpl.java
...eratelog/core/service/OperateLogFrameworkServiceImpl.java
+0
-1
TenantSecurityWebFilter.java
...amework/tenant/core/security/TenantSecurityWebFilter.java
+1
-1
没有找到文件。
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/config/YudaoDeptDataPermissionAutoConfiguration.java
浏览文件 @
d21dcba1
package
cn
.
iocoder
.
yudao
.
framework
.
datapermission
.
config
;
package
cn
.
iocoder
.
yudao
.
framework
.
datapermission
.
config
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.extra.spring.SpringUtil
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRule
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRule
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
...
@@ -10,6 +12,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
...
@@ -10,6 +12,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 基于部门的数据权限 AutoConfiguration
* 基于部门的数据权限 AutoConfiguration
...
@@ -18,12 +21,21 @@ import java.util.List;
...
@@ -18,12 +21,21 @@ import java.util.List;
*/
*/
@AutoConfiguration
@AutoConfiguration
@ConditionalOnClass
(
LoginUser
.
class
)
@ConditionalOnClass
(
LoginUser
.
class
)
@ConditionalOnBean
(
value
=
{
PermissionApi
.
class
,
DeptDataPermissionRuleCustomizer
.
class
}
)
@ConditionalOnBean
(
value
=
DeptDataPermissionRuleCustomizer
.
class
)
public
class
YudaoDeptDataPermissionAutoConfiguration
{
public
class
YudaoDeptDataPermissionAutoConfiguration
{
@Bean
@Bean
public
DeptDataPermissionRule
deptDataPermissionRule
(
PermissionApi
permissionApi
,
public
DeptDataPermissionRule
deptDataPermissionRule
(
PermissionApi
permissionApi
,
List
<
DeptDataPermissionRuleCustomizer
>
customizers
)
{
List
<
DeptDataPermissionRuleCustomizer
>
customizers
)
{
// Cloud 专属逻辑:优先使用本地的 PermissionApi 实现类,而不是 Feign 调用
// 原因:在创建租户时,租户还没创建好,导致 Feign 调用获取数据权限时,报“租户不存在”的错误
try
{
PermissionApi
permissionApiImpl
=
SpringUtil
.
getBean
(
"permissionApiImpl"
,
PermissionApi
.
class
);
if
(
permissionApiImpl
!=
null
)
{
permissionApi
=
permissionApiImpl
;
}
}
catch
(
Exception
ignored
)
{}
// 创建 DeptDataPermissionRule 对象
// 创建 DeptDataPermissionRule 对象
DeptDataPermissionRule
rule
=
new
DeptDataPermissionRule
(
permissionApi
);
DeptDataPermissionRule
rule
=
new
DeptDataPermissionRule
(
permissionApi
);
// 补全表配置
// 补全表配置
...
...
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/aop/OperateLogAspect.java
浏览文件 @
d21dcba1
...
@@ -196,7 +196,7 @@ public class OperateLogAspect {
...
@@ -196,7 +196,7 @@ public class OperateLogAspect {
operateLogObj
.
setName
(
operateLog
.
name
());
operateLogObj
.
setName
(
operateLog
.
name
());
}
}
if
(
StrUtil
.
isEmpty
(
operateLogObj
.
getName
())
&&
operation
!=
null
)
{
if
(
StrUtil
.
isEmpty
(
operateLogObj
.
getName
())
&&
operation
!=
null
)
{
operateLogObj
.
setName
(
operation
.
description
());
operateLogObj
.
setName
(
operation
.
summary
());
}
}
// type 属性
// type 属性
if
(
operateLog
!=
null
&&
ArrayUtil
.
isNotEmpty
(
operateLog
.
type
()))
{
if
(
operateLog
!=
null
&&
ArrayUtil
.
isNotEmpty
(
operateLog
.
type
()))
{
...
...
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLogFrameworkServiceImpl.java
浏览文件 @
d21dcba1
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
service
;
package
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.module.system.api.logger.OperateLogApi
;
import
cn.iocoder.yudao.module.system.api.logger.OperateLogApi
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
...
...
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/security/TenantSecurityWebFilter.java
浏览文件 @
d21dcba1
...
@@ -66,7 +66,7 @@ public class TenantSecurityWebFilter extends ApiRequestFilter {
...
@@ -66,7 +66,7 @@ public class TenantSecurityWebFilter extends ApiRequestFilter {
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
chain
)
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
chain
)
throws
ServletException
,
IOException
{
throws
ServletException
,
IOException
{
Long
tenantId
=
TenantContextHolder
.
getTenantId
();
Long
tenantId
=
TenantContextHolder
.
getTenantId
();
boolean
isRpcRequest
=
!
WebFrameworkUtils
.
isRpcRequest
(
request
);
boolean
isRpcRequest
=
WebFrameworkUtils
.
isRpcRequest
(
request
);
// 1. 登陆的用户,校验是否有权限访问该租户,避免越权问题。
// 1. 登陆的用户,校验是否有权限访问该租户,避免越权问题。
LoginUser
user
=
SecurityFrameworkUtils
.
getLoginUser
();
LoginUser
user
=
SecurityFrameworkUtils
.
getLoginUser
();
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论