0

REST Assured APIを使用してREST APIを自動化する必要がありますが、問題が発生します。 REST Assured APIを使用して、Spring Securityの設定でログインする必要があります。SpringセキュリティでRest APIにログインできません

以下のコードを見ていてください:私が直面しています問題がある

@Before 
public void configure() { 
     RestAssured.baseURI = "https://example.com"; 
     RestAssured.basePath = "/my-portal"; 
} 

@Test 
public void apiLogin() { 
    given().auth().form("username", "password", springSecurity().withLoggingEnabled(new LogConfig())).when().get(); 
} 

を:

実際のリクエストURIhttps://example.com/my-portal/j_spring_security_check

:リクエストURI期待 https://example.com/j_spring_security_check

レスポンスは次のように取得されます。

Request method: POST 
Request URI: https://example.com/j_spring_security_check 
Proxy:   <none> 
Request params: <none> 
Query params: <none> 
Form params: j_username={username} 
       j_password={password} 
Path params: <none> 
Multiparts:  <none> 
Headers:  Accept=*/* 
       Content-Type=application/x-www-form-urlencoded; charset=ISO-8859-1 
Cookies:  <none> 
Body:   <none> 
HTTP/1.1 404 Not Found 
Date: Mon, 06 Feb 2017 10:51:41 GMT 
Content-Length: 0 
Connection: close 
Content-Type: text/plain 
+0

誰でもここで答えることができます:https://github.com/rest-assured/rest-assured/issues/815 – kartoos

答えて

0

私はこれを働かせました。ちょっとした間違いがあり、うまくいきました。

final StringWriter writer = new StringWriter(); 
     final PrintStream captor = new PrintStream(new WriterOutputStream(writer), true); 
     Response s = given().auth(). 
         form(userName, password, 
         FormAuthConfig.springSecurity().withLoggingEnabled(new LogConfig(captor, true))) 
       .post("/home/myapp.html"); 

     System.out.println(s.getBody().asString()); 

これはHTTPステータスコードを提供し:302(すなわちページ/home/myapp.htmlにリダイレクト)以下

が動作コードです。

関連する問題