Skip to content

Commit 3b5ccdb

Browse files
authored
Merge pull request #82 from codingapi/dev
Dev
2 parents 6506e92 + 4574df7 commit 3b5ccdb

File tree

40 files changed

+688
-244
lines changed

40 files changed

+688
-244
lines changed

example/example-application/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-example</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>3.3.27</version>
8+
<version>3.3.30</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

example/example-domain/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-example</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>3.3.27</version>
8+
<version>3.3.30</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

example/example-infra-flow/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-example</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>3.3.27</version>
8+
<version>3.3.30</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

example/example-infra-jpa/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-example</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>3.3.27</version>
8+
<version>3.3.30</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

example/example-server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-example</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>3.3.27</version>
8+
<version>3.3.30</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

example/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</parent>
1818

1919
<artifactId>springboot-example</artifactId>
20-
<version>3.3.27</version>
20+
<version>3.3.30</version>
2121

2222
<name>springboot-example</name>
2323
<description>springboot-example project for Spring Boot</description>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
<groupId>com.codingapi.springboot</groupId>
1717
<artifactId>springboot-parent</artifactId>
18-
<version>3.3.27</version>
18+
<version>3.3.30</version>
1919

2020
<url>https://github.com/codingapi/springboot-framewrok</url>
2121
<name>springboot-parent</name>

springboot-starter-data-authorization/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.codingapi.springboot</groupId>
88
<artifactId>springboot-parent</artifactId>
9-
<version>3.3.27</version>
9+
<version>3.3.30</version>
1010
</parent>
1111

1212
<artifactId>springboot-starter-data-authorization</artifactId>

springboot-starter-data-authorization/src/main/java/com/codingapi/springboot/authorization/DataAuthorizationContext.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
import com.codingapi.springboot.authorization.filter.DataAuthorizationFilter;
44
import com.codingapi.springboot.authorization.handler.Condition;
5+
import com.codingapi.springboot.authorization.interceptor.SQLInterceptState;
56
import lombok.Getter;
7+
import org.springframework.util.StringUtils;
68

79
import java.util.ArrayList;
810
import java.util.List;
911

1012
/**
11-
* 数据权限上下文
13+
* 数据权限上下文
1214
*/
1315
public class DataAuthorizationContext {
1416

@@ -25,19 +27,27 @@ public void addDataAuthorizationFilter(DataAuthorizationFilter filter) {
2527
this.filters.add(filter);
2628
}
2729

28-
public <T> T columnAuthorization(String tableName, String columnName, T value) {
29-
for (DataAuthorizationFilter filter : filters) {
30-
if (filter.supportColumnAuthorization(tableName, columnName, value)) {
31-
return filter.columnAuthorization(tableName, columnName, value);
30+
public void clearDataAuthorizationFilters(){
31+
this.filters.clear();
32+
}
33+
34+
public <T> T columnAuthorization(SQLInterceptState interceptState, String tableName, String columnName, T value) {
35+
if (interceptState != null && interceptState.hasIntercept() && StringUtils.hasText(tableName)) {
36+
for (DataAuthorizationFilter filter : filters) {
37+
if (filter.supportColumnAuthorization(tableName, columnName, value)) {
38+
return filter.columnAuthorization(tableName, columnName, value);
39+
}
3240
}
3341
}
3442
return value;
3543
}
3644

3745
public Condition rowAuthorization(String tableName, String tableAlias) {
38-
for (DataAuthorizationFilter filter : filters) {
39-
if (filter.supportRowAuthorization(tableName, tableAlias)) {
40-
return filter.rowAuthorization(tableName, tableAlias);
46+
if(StringUtils.hasText(tableName) && StringUtils.hasText(tableAlias)) {
47+
for (DataAuthorizationFilter filter : filters) {
48+
if (filter.supportRowAuthorization(tableName, tableAlias)) {
49+
return filter.rowAuthorization(tableName, tableAlias);
50+
}
4151
}
4252
}
4353
return null;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.codingapi.springboot.authorization.filter;
2+
3+
import com.codingapi.springboot.authorization.handler.Condition;
4+
5+
public class DefaultDataAuthorizationFilter implements DataAuthorizationFilter{
6+
7+
@Override
8+
public <T> T columnAuthorization(String tableName, String columnName, T value) {
9+
return value;
10+
}
11+
12+
@Override
13+
public Condition rowAuthorization(String tableName, String tableAlias) {
14+
return null;
15+
}
16+
17+
@Override
18+
public boolean supportColumnAuthorization(String tableName, String columnName, Object value) {
19+
return false;
20+
}
21+
22+
@Override
23+
public boolean supportRowAuthorization(String tableName, String tableAlias) {
24+
return false;
25+
}
26+
27+
}

0 commit comments

Comments
 (0)