优化权限控制

This commit is contained in:
zhouhao
2017-05-24 22:31:20 +08:00
parent 1281863ffd
commit 623c8a07e6
9 changed files with 29 additions and 30 deletions

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);