我正在尝试构建一个响应浏览器的Web服务。我是否必须将html
代码作为硬编码的string
返回,还是有更好的方法?这是一个简单的身份验证服务,需要直接转到考试的主页。我真的对网上的所有教程和答案感到困惑,每个人都有不同的方式来实现Web服务。我在这里想念什么?我在Wildfly 13上使用RestEasy。
HTML通话:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Hello</h1>
<form method="POST" action="resources/login/userlogin" >
Username: <input type="text" name="Username">
<br>
Password: <input type="password" name="Password">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
服务:
@POST
@Path("userlogin")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String Authenticate(@FormParam("Username") String Username, @FormParam("Password") String Password) {
LoginToken token = LoginTokenSingleton.instance.getToken(Username, Password);
if (token == null) {
throw new RuntimeException("POST: User not found");
}
//return the html code for a succesfull login?
return null;
}
答案 0 :(得分:1)
提交包含POST request
和username
的表单时,您正在调用password
。
用户在后端通过身份验证后,您可以返回Success HTTP status code - 200
,并在此基础上将用户重定向到主页。如果用户未通过身份验证,则可以发送Not Authenticated Status Code 401
并将用户重定向到其他页面。