寻找一种在某些单元/集成测试中模拟弹簧安全性的方法。
- 圣杯:V2.1.0
- Spring Security 核心:V1.2.7.3
控制器具有以下功能:
// some action
def index(){
def user = getLoggedInUser()
render ....
}
...
private getLoggedInUser(){
return User.get(springSecurityService.principal.id)
}
我尝试了以下和其他各种方法,但看不到让它工作:
void testSomething(){
def dc = new SomeController()
dc.springSecurityService = [
encodePassword: 'password',
reauthenticate: { String u -> true},
loggedIn: true,
principal: [username:"Bob"]]
dc.index()
... assertion....
似乎用户没有被创建并且无法获得principal.id
. 有什么建议或更好的选择吗?