本文整理了Java中org.apache.shiro.spring.web.ShiroFilterFactoryBean.getFilterChainDefinitionMap()
方法的一些代码示例,展示了ShiroFilterFactoryBean.getFilterChainDefinitionMap()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ShiroFilterFactoryBean.getFilterChainDefinitionMap()
方法的具体详情如下:
包路径:org.apache.shiro.spring.web.ShiroFilterFactoryBean
类名称:ShiroFilterFactoryBean
方法名:getFilterChainDefinitionMap
[英]Returns the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted by the Shiro Filter. Each map entry should conform to the format defined by the FilterChainManager#createChain(String,String) JavaDoc, where the map key is the chain name (e.g. URL path expression) and the map value is the comma-delimited string chain definition.
[中]返回链定义的chainName到chainDefinition映射,用于创建Shiro筛选器截获的筛选器链。每个映射条目应符合FilterChainManager#createChain(String,String)JavaDoc定义的格式,其中映射键是链名称(例如URL路径表达式),映射值是逗号分隔的字符串链定义。
代码示例来源:origin: apache/shiro
Map<String, String> chains = getFilterChainDefinitionMap();
if (!CollectionUtils.isEmpty(chains)) {
for (Map.Entry<String, String> entry : chains.entrySet()) {
代码示例来源:origin: dqeasycloud/easy-cloud
/**
* 更新过滤器链
*/
public synchronized EcBaseServiceResult updateFilterChains(Map<String, String> filterChainDefinitionMap) {
Map<String, String> oldFilterChainDefinitionMap = EcJSONUtils.parseObject(shiroFilterFactoryBean.getFilterChainDefinitionMap(), LinkedHashMap.class);
try {
doUpdateFilterChains(filterChainDefinitionMap);
logger.info("更新权限成功!!");
} catch (Exception e) {
// 发送异常 还原过滤器链
doUpdateFilterChains(oldFilterChainDefinitionMap);
throw new RuntimeException(e.getMessage(), e);
}
return EcBaseServiceResult.newInstanceOfSuccess();
}
代码示例来源:origin: lcw2004/one
public void updatePermission() {
synchronized (shiroFilterFactoryBean) {
try {
AbstractShiroFilter shiroFilter = (AbstractShiroFilter) shiroFilterFactoryBean.getObject();
// 获取过滤管理器
PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter.getFilterChainResolver();
DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver.getFilterChainManager();
// 清空初始权限配置
manager.getFilterChains().clear();
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
// 重新构建生成
Map<String, String> chains = new LinkedHashMap<>();
chains.putAll(initOtherPermission());
chains.putAll(defaultFilterChainDefinitionMap);
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
String chainDefinition = entry.getValue();
manager.createChain(url, chainDefinition);
}
logger.debug("update shiro permission success...");
} catch (Exception e) {
logger.error(e.getMessage());
}
}
}
代码示例来源:origin: tomsun28/bootshiro
public void reloadFilterChain() {
ShiroFilterFactoryBean shiroFilterFactoryBean = SpringContextHolder.getBean(ShiroFilterFactoryBean.class);
AbstractShiroFilter abstractShiroFilter = null;
try {
abstractShiroFilter = (AbstractShiroFilter)shiroFilterFactoryBean.getObject();
RestPathMatchingFilterChainResolver filterChainResolver = (RestPathMatchingFilterChainResolver)abstractShiroFilter.getFilterChainResolver();
DefaultFilterChainManager filterChainManager = (DefaultFilterChainManager)filterChainResolver.getFilterChainManager();
filterChainManager.getFilterChains().clear();
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
shiroFilterFactoryBean.setFilterChainDefinitionMap(this.initGetFilterChain());
shiroFilterFactoryBean.getFilterChainDefinitionMap().forEach((k,v) -> filterChainManager.createChain(k,v));
}catch (Exception e) {
LOGGER.error(e.getMessage(),e);
}
}
}
代码示例来源:origin: dqeasycloud/easy-cloud
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
Map<String, String> chains = shiroFilterFactoryBean.getFilterChainDefinitionMap();
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
代码示例来源:origin: dqeasycloud/easy-cloud
@Override
public synchronized Map<String, String> loadFilterChainDefinitions() {
if (EcMapUtils.isNotEmpty(filterConfigDTOMap)) {
return buildFilterChainDefinitions(this.filterConfigDTOMap);
}
Yaml yaml = new Yaml();
Map<String, String> filterChainDefinitions = new LinkedHashMap<>();
try {
ShiroFilterFactoryBean shiroFilterFactoryBean = yaml.loadAs(shiroConfig.getInputStream(), ShiroFilterFactoryBean.class);
if (shiroFilterFactoryBean != null) {
filterChainDefinitions.putAll(shiroFilterFactoryBean.getFilterChainDefinitionMap());
int priorityLevel = 0;
for (String key : filterChainDefinitions.keySet()) {
SysFilterConfigDTO filterConfigDTO = new SysFilterConfigDTO();
filterConfigDTO.setUrlPattern(key);
filterConfigDTO.setFilterName(filterChainDefinitions.get(key));
filterConfigDTO.setPriorityLevel(priorityLevel++);
filterConfigDTOMap.put(key, filterConfigDTO);
}
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return filterChainDefinitions;
}
代码示例来源:origin: xuyaohui/cloud-ida-cli
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
shiroFilterFactoryBean
.setFilterChainDefinitionMap(getAllRolesByPermission());
.getFilterChainDefinitionMap();
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
代码示例来源:origin: coder-yqj/springboot-shiro
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
shiroFilterFactoryBean
.setFilterChainDefinitionMap(loadFilterChainDefinitions());
.getFilterChainDefinitionMap();
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
代码示例来源:origin: zhangyd-c/springboot-shiro
/**
* 重新加载权限
*/
@Override
public void updatePermission() {
ShiroFilterFactoryBean shirFilter = SpringContextHolder.getBean(ShiroFilterFactoryBean.class);
synchronized (shirFilter) {
AbstractShiroFilter shiroFilter = null;
try {
shiroFilter = (AbstractShiroFilter) shirFilter.getObject();
} catch (Exception e) {
throw new RuntimeException("get ShiroFilter from shiroFilterFactoryBean error!");
}
PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter.getFilterChainResolver();
DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver.getFilterChainManager();
// 清空老的权限控制
manager.getFilterChains().clear();
shirFilter.getFilterChainDefinitionMap().clear();
shirFilter.setFilterChainDefinitionMap(loadFilterChainDefinitions());
// 重新构建生成
Map<String, String> chains = shirFilter.getFilterChainDefinitionMap();
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
String chainDefinition = entry.getValue().trim().replace(" ", "");
manager.createChain(url, chainDefinition);
}
}
}
代码示例来源:origin: java-aodeng/hope-plus
/***
* 重新加载权限
*/
@Override
public void updatePermission() {
ShiroFilterFactoryBean shiroFilterFactoryBean= SpringContextHolder.getBean(ShiroFilterFactoryBean.class);
synchronized (shiroFilterFactoryBean){
AbstractShiroFilter abstractShiroFilter =null;
try{
abstractShiroFilter =(AbstractShiroFilter) shiroFilterFactoryBean.getObject();
}catch (Exception e) {
throw new RuntimeException("Get AbstractShiroFilter error");
}
PathMatchingFilterChainResolver pathMatchingFilterChainResolver=(PathMatchingFilterChainResolver)abstractShiroFilter.getFilterChainResolver();
DefaultFilterChainManager defaultFilterChainManager=(DefaultFilterChainManager)pathMatchingFilterChainResolver.getFilterChainManager();
//清空老的权限控制
defaultFilterChainManager.getFilterChains().clear();
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
shiroFilterFactoryBean.setFilterChainDefinitionMap(loadFilterChainDefinitions());
//重新构建生成
Map<String,String> map=shiroFilterFactoryBean.getFilterChainDefinitionMap();
for(Map.Entry<String,String> stringEntry:map.entrySet()){
String url=stringEntry.getKey();
String chainDefinition=stringEntry.getValue().trim().replace(" ","");
defaultFilterChainManager.createChain(url,chainDefinition);
}
}
log.info("[hope权限重新加载成功,低调小熊猫博客:https://aodeng.cc]");
}
代码示例来源:origin: zhangyd-c/OneBlog
/**
* 重新加载权限
*/
public void updatePermission() {
ShiroFilterFactoryBean shirFilter = SpringContextHolder.getBean(ShiroFilterFactoryBean.class);
synchronized (shirFilter) {
AbstractShiroFilter shiroFilter = null;
try {
shiroFilter = (AbstractShiroFilter) shirFilter.getObject();
} catch (Exception e) {
throw new RuntimeException("get ShiroFilter from shiroFilterFactoryBean error!");
}
PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter.getFilterChainResolver();
DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver.getFilterChainManager();
// 清空老的权限控制
manager.getFilterChains().clear();
shirFilter.getFilterChainDefinitionMap().clear();
shirFilter.setFilterChainDefinitionMap(loadFilterChainDefinitions());
// 重新构建生成
Map<String, String> chains = shirFilter.getFilterChainDefinitionMap();
for (Map.Entry<String, String> entry : chains.entrySet()) {
String url = entry.getKey();
String chainDefinition = entry.getValue().trim().replace(" ", "");
manager.createChain(url, chainDefinition);
}
}
}
代码示例来源:origin: org.apache.shiro/shiro-spring
Map<String, String> chains = getFilterChainDefinitionMap();
if (!CollectionUtils.isEmpty(chains)) {
for (Map.Entry<String, String> entry : chains.entrySet()) {
代码示例来源:origin: watchdog-framework/watchdog-framework
@Override
public void reloadPerms() {
ShiroFilterFactoryBean shiroFilterFactoryBean = SpringUtils.getBean(ShiroFilterFactoryBean.class);
AbstractShiroFilter abstractShiroFilter;
try {
abstractShiroFilter = (AbstractShiroFilter) shiroFilterFactoryBean.getObject();
} catch (Exception e) {
throw new RequestException(ResponseCode.FAIL.code,"重新加载权限失败",e);
}
PathMatchingFilterChainResolver filterChainResolver =
(PathMatchingFilterChainResolver) abstractShiroFilter.getFilterChainResolver();
DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver
.getFilterChainManager();
/*清除旧版权限*/
manager.getFilterChains().clear();
shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
/*更新新数据*/
Map<String, String> filterChainDefinitionMap = getFilterChainDefinitionMap();
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
filterChainDefinitionMap.forEach(manager::createChain);
}
内容来源于网络,如有侵权,请联系作者删除!