簡體   English   中英

集成測試grails spring安全插件?

[英]Integration testing grails spring security plugin?

我有這個:

@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 security插件注釋的控制器?

SpringSecurityFilter會分析這些注釋,因此如果您沒有執行實際的HTTP請求,它們將無法工作。

因此,您需要切換到通過操作中的條件檢查角色,比如在此處完成,或者使用WebDriver / Geb或一些更簡單的框架進行測試 - Grails Security Plugin本身提供了非常好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM