Método de publicación que representa la página prohibida 403 en lugar de ejecutar el código del método de publicación
nota: soy nuevo en Play Framework
Usando estovideo tutorial y lista de reproducción, Logré crear una aplicación web simple.
Problema:
POST
Los métodos en el archivo de rutas no parecen ejecutar el código POST requerido.
Dado el archivo de rutas a continuación, navegando hacialocalhost:{port}/user/register
solicita unGET
, representando y devolviendo asíregister view
.
Rellenando elregister view
campos y haciendo clicsubmit
, actualiza la página (al borrar los campos de entrada) y muestra el texto "registrado" esperado
Simethod="post"
ha sido agregado aform
en elregister view
, inmediatamente403 Forbidden page
Se muestra la página.
¿Por qué no se muestra el texto "registrado", qué me estoy perdiendo (haciendo mal)?
Archivo de rutas:
GET / controllers.HomeController.index
GET /user controllers.LoginController.index()
GET /user/login controllers.LoginController.login()
POST /user/login controllers.LoginController.doLogin()
GET /user/register controllers.LoginController.register()
POST /user/register controllers.LoginController.doRegister()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
Controladores:
HomeController
LoginController
Métodos de LoginController:
public Result index() { return ok(views.html.user.index.render(User.getAllUsers())) }
public Result login() { return ok(login.render()); }
public Result doLogin() { return ok("registered"); }
public Result register() { return ok(register.render()); }
public Result doRegister() { return ok("registered"); }
Vista de registro:
@()
<html>
<head>
<title>Register new User</title>
</head>
<body>
<h1>Register User</h1>
<br>
<br>
Enter Email Address: <input type="password" name="confirmPassword">
Enter Password: <input type="password" name="confirmPassword">
Confirm Password: <input type="password" name="confirmPassword">
<br>
<br>
<form action="@routes.LoginController.doRegister()">
<input type="submit" value="Register"/>
</form>
</body>
</html>
Error de salida de la consola:
[warn] p.filters.CSRF - [CSRF] Check failed because no or invalid token found in body
[warn] p.filters.CSRF - [CSRF] Check failed with NoTokenInBody