Ste*_*all 4 security grails plugins spring spring-security
我有这个:
@Secured(['ROLE_USER', 'ROLE_HELPDESK', 'ROLE_ADMIN'])
class MyController {
def edit = {
}
@Secured(['ROLE_ADMIN'])
def uploadForUser = {
params.userId = params.id
forward(controller: 'someController', action: 'someAction', params: params)
}
}
Run Code Online (Sandbox Code Playgroud)
我认为应该失败的集成测试:
public void test_uploadForUser_unauthenticated(){
myController.params.id = "testUser"
myController.uploadForUser()
}
Run Code Online (Sandbox Code Playgroud)
然而测试通过了.有没有办法测试用spring security插件注释的控制器?
这些注释由分析SpringSecurityFilter,因此如果您没有执行实际的HTTP请求,它们将不起作用.
因此,您需要切换到通过操作中的条件检查角色,例如在此处完成,或者使用WebDriver/Geb或一些更简单的框架进行测试 - Grails Security Plugin本身提供了非常好的方法.
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |