2

我正在进行需要身份验证的集成测试。会话状态(即 cookie)似乎不是在请求之间维护。是否有 CookieManager 或类似的东西?

@Test
public void whenAuthenticatedUserRequestAForbiddenUrlShouldObtain403() {
    def client = new RESTClient('http://127.0.0.1:8080/app/')

    def login = client .post(
            path: 'api/login.json',
            body: [j_username: 'user', j_password: 'test'],
            requestContentType: ContentType.URLENC)



    def resp = client .get(path: 'forbidden-url')
    assert (resp.status == 403) 
    ==> FAILS status = 200
}
4

1 回答 1

0

在我看来,问题并没有丢失会话状态,而是“禁止 URL”可能一开始就没有被指定为安全的。如果是这样,即使您登录,客户端请求请求似乎也不应该成功。尝试删除顶部的登录名,如果您仍然获得 200,则您可能无论如何都没有保护 URL。

于 2011-12-20T14:22:04.313 回答