10

grails 2.0 で Spring Security Core プラグイン (1.2.7) を使用しています

@Secured アノテーションを使用するメソッドを持つコントローラーがあるとします。

class ArticleController {
    def springSecurityService

    @Secured(['ROLE_PREMIUM_USER'])
    def listPremium() { 
        render 'premium content'
    }
}

私の単体テストでは、ロール「ROLE_PREMIUM_USER」を持つユーザーがlistPremiumメソッドのコンテンツを表示できるかどうかをテストしたいと思います。これどうやってするの?

次のように開始する必要があることを知っています。

@TestFor(ArticleController)
@Mock([SpringSecurityService])
class ArticleControllerTests {
    void testListPremium() {
    defineBeans {
        springSecurityService(SpringSecurityService)
    }
         //but how to login the user here in order to see premium content?

        controller.listPremium()
        assert response.text() == 'premium content'
    }
}

ROLE_PREMIUM_USER をチェックするユーザーまたはモック アクションを認証する方法がわかりません。何か助けはありますか?

4

2 に答える 2

5

使用できる場合があります

SpringSecurityUtils.reauthenticate username, null
于 2012-06-16T21:32:37.473 に答える