gpt4 book ai didi

security - 集成测试 grails spring 安全插件?

转载 作者:行者123 更新时间:2023-12-04 23:07:50 26 4
gpt4 key购买 nike

我有这个:

@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)
}
}

以及我认为应该失败的集成测试:
public void test_uploadForUser_unauthenticated(){
myController.params.id = "testUser"
myController.uploadForUser()
}

然而测试通过了。有没有办法测试用 spring 安全插件注释的 Controller ?

最佳答案

这些注释由 SpringSecurityFilter 分析,因此如果您没有执行实际的 HTTP 请求,它们将不起作用。

因此,您需要切换到通过操作内的条件检查角色,例如完成 here ,或使用 WebDriver/Geb 或一些更简单的框架对其进行测试——在 Grails Security Plugin itself 中提供了非常好的方法。 .

关于security - 集成测试 grails spring 安全插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com