mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-02 02:43:59 +08:00
优化权限控制
This commit is contained in:
@@ -7,7 +7,7 @@ import org.hswebframework.web.authorization.access.DataAccessConfig;
|
||||
*
|
||||
* @author zhouhao
|
||||
*/
|
||||
public abstract class AbstractDataAccess implements DataAccessConfig {
|
||||
public abstract class AbstractDataAccessConfig implements DataAccessConfig {
|
||||
|
||||
private String action;
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.hswebframework.web.authorization.simple;
|
||||
import org.hswebframework.web.authorization.builder.AuthenticationBuilderFactory;
|
||||
import org.hswebframework.web.authorization.builder.DataAccessConfigBuilderFactory;
|
||||
import org.hswebframework.web.authorization.builder.FieldAccessConfigBuilderFactory;
|
||||
import org.hswebframework.web.authorization.simple.builder.DataAccessConfigBuilderConvert;
|
||||
import org.hswebframework.web.authorization.simple.builder.DataAccessConfigConvert;
|
||||
import org.hswebframework.web.authorization.simple.builder.SimpleAuthenticationBuilderFactory;
|
||||
import org.hswebframework.web.authorization.simple.builder.SimpleDataAccessConfigBuilderFactory;
|
||||
import org.hswebframework.web.authorization.simple.builder.SimpleFieldAccessConfigBuilderFactory;
|
||||
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
public class AuthorizationAutoConfiguration {
|
||||
|
||||
@Autowired(required = false)
|
||||
private List<DataAccessConfigBuilderConvert> dataAccessConfigBuilderConverts;
|
||||
private List<DataAccessConfigConvert> dataAccessConfigConverts;
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(FieldAccessConfigBuilderFactory.class)
|
||||
@@ -35,8 +35,8 @@ public class AuthorizationAutoConfiguration {
|
||||
@ConditionalOnMissingBean(DataAccessConfigBuilderFactory.class)
|
||||
public DataAccessConfigBuilderFactory dataAccessConfigBuilderFactory() {
|
||||
SimpleDataAccessConfigBuilderFactory factory = new SimpleDataAccessConfigBuilderFactory();
|
||||
if (null != dataAccessConfigBuilderConverts) {
|
||||
dataAccessConfigBuilderConverts.forEach(factory::addConvert);
|
||||
if (null != dataAccessConfigConverts) {
|
||||
dataAccessConfigConverts.forEach(factory::addConvert);
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
|
||||
@@ -6,16 +6,16 @@ import org.hswebframework.web.authorization.access.DataAccessController;
|
||||
/**
|
||||
* @author zhouhao
|
||||
*/
|
||||
public class SimpleCustomDataAccess extends AbstractDataAccess implements CustomDataAccess {
|
||||
public class SimpleCustomDataAccessConfig extends AbstractDataAccessConfig implements CustomDataAccess {
|
||||
|
||||
private String classOrBeanName;
|
||||
|
||||
private transient DataAccessController instance;
|
||||
|
||||
public SimpleCustomDataAccess() {
|
||||
public SimpleCustomDataAccessConfig() {
|
||||
}
|
||||
|
||||
public SimpleCustomDataAccess(String classOrBeanName) {
|
||||
public SimpleCustomDataAccessConfig(String classOrBeanName) {
|
||||
this.classOrBeanName = classOrBeanName;
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@ import org.hswebframework.web.authorization.access.OwnCreatedDataAccessConfig;
|
||||
*
|
||||
* @author zhouhao
|
||||
*/
|
||||
public class SimpleOwnCreatedDataAccess extends AbstractDataAccess implements OwnCreatedDataAccessConfig {
|
||||
public class SimpleOwnCreatedDataAccessConfig extends AbstractDataAccessConfig implements OwnCreatedDataAccessConfig {
|
||||
|
||||
public SimpleOwnCreatedDataAccess() {
|
||||
public SimpleOwnCreatedDataAccessConfig() {
|
||||
}
|
||||
|
||||
public SimpleOwnCreatedDataAccess(String action) {
|
||||
public SimpleOwnCreatedDataAccessConfig(String action) {
|
||||
setAction(action);
|
||||
}
|
||||
}
|
||||
@@ -7,15 +7,15 @@ import org.hswebframework.web.authorization.access.ScriptDataAccessConfig;
|
||||
*
|
||||
* @author zhouhao
|
||||
*/
|
||||
public class SimpleScriptDataAccess extends AbstractDataAccess implements ScriptDataAccessConfig {
|
||||
public class SimpleScriptDataAccessConfig extends AbstractDataAccessConfig implements ScriptDataAccessConfig {
|
||||
private String script;
|
||||
|
||||
private String scriptLanguage;
|
||||
|
||||
public SimpleScriptDataAccess() {
|
||||
public SimpleScriptDataAccessConfig() {
|
||||
}
|
||||
|
||||
public SimpleScriptDataAccess(String script, String scriptLanguage) {
|
||||
public SimpleScriptDataAccessConfig(String script, String scriptLanguage) {
|
||||
this.script = script;
|
||||
this.scriptLanguage = scriptLanguage;
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import org.hswebframework.web.authorization.access.DataAccessConfig;
|
||||
/**
|
||||
* @author zhouhao
|
||||
*/
|
||||
public interface DataAccessConfigBuilderConvert {
|
||||
public interface DataAccessConfigConvert {
|
||||
|
||||
boolean isSupport(String type, String action, String config);
|
||||
|
||||
@@ -4,10 +4,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.hswebframework.web.authorization.access.DataAccessConfig;
|
||||
import org.hswebframework.web.authorization.builder.DataAccessConfigBuilder;
|
||||
import org.hswebframework.web.authorization.simple.SimpleCustomDataAccess;
|
||||
import org.hswebframework.web.authorization.simple.SimpleOwnCreatedDataAccess;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -17,9 +14,9 @@ import java.util.Objects;
|
||||
public class SimpleDataAccessConfigBuilder implements DataAccessConfigBuilder {
|
||||
private String json;
|
||||
|
||||
private List<DataAccessConfigBuilderConvert> converts;
|
||||
private List<DataAccessConfigConvert> converts;
|
||||
|
||||
public SimpleDataAccessConfigBuilder(List<DataAccessConfigBuilderConvert> converts) {
|
||||
public SimpleDataAccessConfigBuilder(List<DataAccessConfigConvert> converts) {
|
||||
Objects.requireNonNull(converts);
|
||||
this.converts = converts;
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSON;
|
||||
import org.hswebframework.web.authorization.access.DataAccessConfig;
|
||||
import org.hswebframework.web.authorization.builder.DataAccessConfigBuilder;
|
||||
import org.hswebframework.web.authorization.builder.DataAccessConfigBuilderFactory;
|
||||
import org.hswebframework.web.authorization.simple.SimpleCustomDataAccess;
|
||||
import org.hswebframework.web.authorization.simple.SimpleOwnCreatedDataAccess;
|
||||
import org.hswebframework.web.authorization.simple.SimpleCustomDataAccessConfig;
|
||||
import org.hswebframework.web.authorization.simple.SimpleOwnCreatedDataAccessConfig;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@@ -17,16 +17,16 @@ import java.util.Objects;
|
||||
* @author zhouhao
|
||||
*/
|
||||
public class SimpleDataAccessConfigBuilderFactory implements DataAccessConfigBuilderFactory {
|
||||
private List<DataAccessConfigBuilderConvert> converts = new LinkedList<>();
|
||||
private List<DataAccessConfigConvert> converts = new LinkedList<>();
|
||||
|
||||
public SimpleDataAccessConfigBuilderFactory addConvert(DataAccessConfigBuilderConvert configBuilderConvert) {
|
||||
public SimpleDataAccessConfigBuilderFactory addConvert(DataAccessConfigConvert configBuilderConvert) {
|
||||
Objects.requireNonNull(configBuilderConvert);
|
||||
converts.add(configBuilderConvert);
|
||||
return this;
|
||||
}
|
||||
|
||||
public SimpleDataAccessConfigBuilderFactory() {
|
||||
converts.add(new DataAccessConfigBuilderConvert() {
|
||||
converts.add(new DataAccessConfigConvert() {
|
||||
@Override
|
||||
public boolean isSupport(String type, String action, String config) {
|
||||
return DataAccessConfig.DefaultType.OWN_CREATED.equals(type);
|
||||
@@ -34,11 +34,11 @@ public class SimpleDataAccessConfigBuilderFactory implements DataAccessConfigBui
|
||||
|
||||
@Override
|
||||
public DataAccessConfig convert(String type, String action, String config) {
|
||||
return new SimpleOwnCreatedDataAccess(action);
|
||||
return new SimpleOwnCreatedDataAccessConfig(action);
|
||||
}
|
||||
});
|
||||
|
||||
converts.add(new DataAccessConfigBuilderConvert() {
|
||||
converts.add(new DataAccessConfigConvert() {
|
||||
@Override
|
||||
public boolean isSupport(String type, String action, String config) {
|
||||
return DataAccessConfig.DefaultType.SCRIPT.equals(type);
|
||||
@@ -46,12 +46,12 @@ public class SimpleDataAccessConfigBuilderFactory implements DataAccessConfigBui
|
||||
|
||||
@Override
|
||||
public DataAccessConfig convert(String type, String action, String config) {
|
||||
SimpleOwnCreatedDataAccess access = JSON.parseObject(config, SimpleOwnCreatedDataAccess.class);
|
||||
SimpleOwnCreatedDataAccessConfig access = JSON.parseObject(config, SimpleOwnCreatedDataAccessConfig.class);
|
||||
access.setAction(config);
|
||||
return access;
|
||||
}
|
||||
});
|
||||
converts.add(new DataAccessConfigBuilderConvert() {
|
||||
converts.add(new DataAccessConfigConvert() {
|
||||
@Override
|
||||
public boolean isSupport(String type, String action, String config) {
|
||||
return DataAccessConfig.DefaultType.CUSTOM.equals(type);
|
||||
@@ -59,7 +59,7 @@ public class SimpleDataAccessConfigBuilderFactory implements DataAccessConfigBui
|
||||
|
||||
@Override
|
||||
public DataAccessConfig convert(String type, String action, String config) {
|
||||
SimpleCustomDataAccess access = new SimpleCustomDataAccess(config);
|
||||
SimpleCustomDataAccessConfig access = new SimpleCustomDataAccessConfig(config);
|
||||
access.setAction(action);
|
||||
return access;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
package org.hswebframework.web.commons.entity;
|
||||
|
||||
|
||||
import org.hibernate.validator.constraints.NotBlank;
|
||||
import org.hswebframework.web.id.IDGenerator;
|
||||
import org.hswebframwork.utils.RandomUtil;
|
||||
import org.hswebframwork.utils.StringUtils;
|
||||
@@ -37,6 +38,7 @@ public interface TreeSupportEntity<PK> extends GenericEntity<PK> {
|
||||
|
||||
String parentId = "parentId";
|
||||
|
||||
@NotBlank
|
||||
String getPath();
|
||||
|
||||
void setPath(String path);
|
||||
|
||||
Reference in New Issue
Block a user