在研究SS2的时候,把Source存放到数据库中,进行角色配置,SS2把这些资源角色读取到一个Map中在得到一个URL请求时,使用这个URL遍历这个Map,查找是否存在这个Key,如果有,则取出对应的角色。 问题就在这个遍历Map上,源代码如下
private ConfigAttributeDefinition lookupUrlInMap(Map requestMap, String url) {
Iterator entries = requestMap.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Object p = entry.getKey();
boolean matched = urlMatcher.pathMatchesUrl(p, url);
if (logger.isDebugEnabled()) {
logger.debug("Candidate is: ’" + url + "’; pattern is " + p + "; matched=" + matched);
}
if (matched) {
return (ConfigAttributeDefinition) entry.getValue();
}
}
return null;
}
return null;}
转贴于:Java认证考试_考试大
【责编:zj 纠错】
[1] [2]