【发布时间】:2014-09-27 20:52:44
【问题描述】:
我有以下场景/系统。 一个 Rest Service 提案,在 Spring 安全配置之后,带有 Spring JPA 和一个 postgres DB。
现在我的场景制作了一个
用户登录 1
注销用户 1
用户 1 的登录
对资源提出请求
注销用户 1
用户 2 的登录
对其他资源发出请求
注销用户 2
这一切都在一个测试方法上(我知道这样做可能是错误的)。 现在让我感到困惑的是,他有一些加密/解密方法来检索用户,它们是字段。现在我看到的是,在用户 1 的第一次登录时,用户通过了解密代码(这没关系),在用户 1 的第二次登录后,我们没有通过解密代码(但用户已登录) . (这有点奇怪,我预计用户会通过解密代码),之后通过访问资源,用户 2 也被解密(这是正确的)。 但是通过登录用户2,用户不会传递解密代码(我有一个例外,因为通常加密的字段,现在被解密)异常可以是好的,但不是字段被解密的事实.
现在只有当我在@Transactional 下设置测试时才会抛出异常。
当我进行测试而不是 @Transactional 时,行为相同是正确的(每次登录用户都会被解密。)
现在我想:“测试不是@transactional 是合乎逻辑的”,但我有点担心我有缓存问题:可以吗?我没有任何缓存配置(仅适用于 ACL,不适用于用户管理)。
hibernate的二级缓存也被关闭了。
有没有办法找出某些缓存或内存强度是否复杂?
发送
【问题讨论】:
标签: spring-security spring-data-jpa spring-test