com.github.angdx.gs.RBACSecurityServerConfig Maven / Gradle / Ivy
package com.github.angdx.gs;
import com.github.angdx.gs.server.ConfigAttributeExtractor;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.access.ConfigAttribute;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* 服务端配置类
*
* @author 王东旭
*/
@Configuration
public class RBACSecurityServerConfig {
private ConfigAttributeExtractor configAttributeExtractor;
public RBACSecurityServerConfig(ConfigAttributeExtractor configAttributeExtractor) {
this.configAttributeExtractor = configAttributeExtractor;
}
public Collection getConfigAttributes(String url, HttpMethod httpMethod, String appName){
List list = new ArrayList<>();
Collection configAttributes = configAttributeExtractor.supplementConfigAttributes();
Collection grantedAuthorities = configAttributeExtractor
.obtainConfigAttributes(url, httpMethod, appName);
if (configAttributes != null){
list.addAll(configAttributes);
}
if (grantedAuthorities != null){
list.addAll(grantedAuthorities);
}
return list;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy