鉴于
class MyPOJO {
@XssSanitized()
String name
}
@Retention(RetentionPolicy.RUNTIME)
@interface XssSanitized {
}
import org.aspectj.lang.annotation.Aspect
@Aspect
@Slf4j
@Component
class XssSanitizedAspect {
@Around("@within(com.es.phoenix.services.security.XssSanitized))")
void sanitize(){
//capture the value of the annotated String
//make an arbritary change to the string
//return modified string or otherwise overwrite the property
log.info("XssSanitizedAspect is working!!!!")
}
}
是否可以修改myPOJOObject.name
内的属性XssSanitizedAspect
?
实际上,我需要一种方法来对XSS进行清理String
属性。我尝试创建一个自定义Jackson Deserializer。它工作正常,但我不能inject a feature toggle(没有解决方法破坏与UI的所有合同),所以解决方案让我失望。
我在网上浏览过很多例子。我没有找到一个示例,其中带注释的属性以这种方式直接修改了它的值。