estoy usando la primavera complemento del núcleo de seguridad (1.2.7) con griales 2.0cómo autenticar usuarios contra la Seguridad de la primavera en las pruebas unitarias
Digamos que tengo controlador con un método que utiliza la anotación @Secured.
class ArticleController {
def springSecurityService
@Secured(['ROLE_PREMIUM_USER'])
def listPremium() {
render 'premium content'
}
}
en mi prueba de la unidad me gustaría probar si un usuario con función 'ROLE_PREMIUM_USER' puede ver el contenido del método listPremium. ¿Cómo puedo hacer esto?
sé que debería comenzar la siguiente manera:
@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'
}
}
No estoy seguro de cómo puedo autenticar la acción fingida usuario o que comprueba ROLE_PREMIUM_USER. ¿Alguna ayuda?
Tome un vistazo a este plugin: [primavera -security-mock] (http://grails.org/plugin/spring-security-mock) – mpccolorado
prueba the controller.springSecurityServce.ifAnyGranted ("ROLE _PREMIUM_USER ") es posible que tenga que extender su clase desde ControllerUnitTestCase – allthenutsandbolts