在旧版grails配置中使用springsecurity.interceptUrlMap:
要动态生成链接,我想根据interceptUrlMap检查链接是否被列入白名单。
该规范将url与地图中的第一个匹配键匹配,因此我可以自己实现一个函数以找到第一个匹配键,然后通过SpringSecurityUtils.ifAnyGranted()运行该值。
//psuedo code.
def access(controller, action){
def match=interceptUrlMap.find{
def pieces=it.getKey().split("/");
if(peices[1]=="**" || controller.matches(peices[1])){
if(peices[2]=="**" || action.matches(peices[2])){
return it.getValue();
}
}
}
if(match && SpringSecurityUtils.ifAnyGranted(match.join(","))){
return true;
}
return false;
}
有人知道spring使方法可用吗?