我在想,如果我在正确的方式写的球衣客户端代码。
在登录页面应该重定向到主页正确的用户名和密码输入后,与服务器端返回一个空字符串( ""
)。 如果任何一个不正确,服务器端的代码返回"Username or Password are incorrect"
。
页面功能运作良好,但是当我经使用正确的对用户名和密码的我的客户端代码进行测试,则返回"Username or Password are incorrect"
,以响应返回200OK。 下面是我的客户端代码。
public static void main(String[] args){
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target("http://localhost:8080
/qa-automation-console").path("authenticate");
Form form = new Form();
form.param("username", "username");
form.param("password", "password");
Response response = target.request().post(Entity.form(form));
//The response was 200OK.
System.out.println(response.readEntity(String.class));
}
我怀疑的用户名和密码在HTML文件中需要正确输入位置未提交。 下面是我的HTML文件的块。
<form name="j_security_form" method="post" action="j_security_check">
<td colspan="3" class="body"><strong>Please contact the service desk for additional
information.</strong></td>
<td colspan="3" align="left"><p class="errorTitle"></p></td>
<span>
<td colspan="3" align="left"><p class="subTitle1">Please log in:</p></td>
<input class="input-small input-block" ng-model="username" placeholder="Username"
id="top_login" name="login" value="" autocomplete="on" type="text"></input>
<td colspan="3" align="left"><p class="space"></p></td>
<input class="input-small input-block" ng-model="password" placeholder="Password"
id="top_password" name="password" value="" autocomplete="on" type="password"></input>
</span>
<li style="display: none;" id="message" class="login-fail hidden">Wrong username
or password</li>
</form>