- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想看看是否有一种方法可以拦截属性占位符机制,这样如果我有一个以某种方式标记为加密的已解析属性值,我可以解密并将结果用作已解析的结果值(value)。
Jasypt 支持类似这样的东西,但实际上会在尝试装饰 bean 之前解密所有属性值。
有什么想法或想法吗?
我有自己制作的解密机制,并将值字符串标记为使用 {AES} 加密作为编码值的前缀。
编辑 因此,正如我在上面关于 Jasypt 实现所说的那样,以相同的方式拦截将使我获得正确的解密,我正在努力。我担心的是 - 属性集合在内存中保存多长时间,或者在占位符配置器使用结束后它们会消失吗?
最佳答案
您可以扩展 PropertyPlaceholderConfigurer
并覆盖 org.springframework.beans.factory.config.PropertyResourceConfigurer.convertPropertyValue(String)
方法,如果它以 开头,则解密它“{EAS}”
。类似于以下类的东西可以用作 PropertyPlaceHolder
:
package foo.bar;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
public class EncryptationAwarePropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer{
@Override
protected String convertPropertyValue(String originalValue) {
if (originalValue.startsWith("{AES}")) {
return decrypt(originalValue.substring(5));
}
return originalValue;
}
private String decrypt(String value) {
return value.toLowerCase(); // here your decryption logic
}
您的上下文会将 PropertyPlaceholder
声明为:
<bean class="foo.bar.EncryptationAwarePropertyPlaceholderConfigurer">
<property name="location">
<value>my.properties</value>
</property>
</bean>
您可以像以下一样简单地使用该属性:
@Value("${encryptedMyProtectedValue}")
private String decryptedValue;
编辑:org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(ConfigurableListableBeanFactory)
将基本上加载属性(到本地 Properties 对象)、转换和处理它们。通过调用 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(ConfigurableListableBeanFactory, Properties)
进行处理。使用 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
Properties
对象在 beans 处理后不会保存在内存中。它基本上仅用于在您的上下文中设置 bean 的属性,并将被释放。
关于java - Spring 属性占位符解密已解析的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077206/
我的 DateTime 对象使用 DateTime.Now 分配了本地时间。我想知道一旦夏令时开始/结束,这个对象是否会给出正确的当前本地时间。或者我需要解决方法吗? 最佳答案 是的,DateTime
假设我需要“特定类别中可用的项目数量”与“所有项目的数量”的比率。请考虑这样的 MySQL 表: /* mysql> select * from Item; +----+------------+--
我有这张 table http://codepen.io/MetCastle/pen/lxceL我想使用 jQuery 根据 input type="number" 隐藏/显示列。表示整个列: Pro
想要制作一个看起来像这样的网格,其中 div/section 以百分比表示。 margin 在任何地方都是一样的。 http://www.ladda-upp.se/bilder/giefekcmgwm
这将返回 1(又名 TRUE) SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY); 10
我一直在尝试在 UIScrollView 中获取 UIView 的转换后的 CGRect。如果我不放大它就可以正常工作,但是一旦我放大,新的 CGRect 就会发生变化。这是让我接近的代码: CGFl
对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num
我用 Javascript 创建了一个倒数计时器;它是成功的,期望未完成。事实上,从数学上讲,它是正确的,但是谷歌浏览器的浏览器设置“暂停”(因为没有更好的术语)SetInterval/Timeout
我有两个 的,每个都设置为其容器宽度的 45%。有没有办法使 居中?使得它们在容器的左右两侧有相同的空间,并且它们之间也有空间。 一开始我只是做了每个 50% 并且有 padding: 0px 2
我是一名优秀的程序员,十分优秀!