I Federsicherheitskern-Plugin bin mit (1.2.7) mit Grails 2.0Wie Benutzer gegen Feder Sicherheit in Unit-Tests authentifizieren
Lasst uns sagen, dass ich Controller mit einer Methode, die @Secured Annotation verwendet.
class ArticleController {
def springSecurityService
@Secured(['ROLE_PREMIUM_USER'])
def listPremium() {
render 'premium content'
}
}
in meiner Unit-Test würde ich testen möchte, ob ein Benutzer mit Rolle ‚ROLE_PREMIUM_USER‘ Gehalt an listPremium Methode sehen kann. Wie kann ich das machen?
Ich weiß, dass es anfangen sollte wie folgt:
@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'
}
}
Ich bin nicht sicher, wie ich Benutzer oder Mock-Aktion, die ROLE_PREMIUM_USER prüft authentifizieren kann. Irgendeine Hilfe?
Werfen Sie einen Blick auf dieses Plugin: [Frühling -Sicherheit-Mock] (http://grails.org/plugin/spring-security-mock) – mpccolorado
versuchen Sie die controller.springSecurityServce.ifAnyGranted ("ROLE _PREMIUM_USER ") müssen Sie Ihre Klasse möglicherweise von ControllerUnitTestCase erweitern – allthenutsandbolts