gpt4 book ai didi

java - 将变量传递给来自外部 Controller 的 POST 请求

转载 作者:行者123 更新时间:2023-11-29 06:14:44 25 4
gpt4 key购买 nike

由于你们在我早期接触 Play Framework 的过程中提供了很大帮助(感谢),这里再次说明:

我们有一个有效的注册 Controller ,它将所有凭据发布到数据库。

但是,我们希望能够在之后立即登录。下面是使这项工作有效的代码:

    public static void doRegistration(@Valid User user) {

//registering the user

try{
SecureController.authenticate(user.username, user.password, false, "MainController.index");
}catch(Throwable ex){
MainController.index();
}

这工作正常,但它不是非常安全,因为它获取服务器的所有凭据。我知道我必须以某种方式编辑我的 routes 文件,但我不知道如何做。

路由文件:

*       /account                                SecureController.login
POST /account/register RegistrationController.doRegistration
GET /account/register SecureController.login

某处应该是 SecureController.authenticate 操作,但是我必须在 POST 之后的列中输入什么...它不能是/account/register,因为那会失败...

先谢谢你!

最佳答案

我不确定我是否理解您的问题。路由文件只是一种将 URL 配置为漂亮 URL 的方法。如果您不指定它们,那么它将回退到默认的 {controller}/{method} 语法。

您遇到的问题是,当您调用另一个 Controller 时,Play 执行重定向到该 Controller 的方法,这涉及将请求发送回您的浏览器告诉它重定向(这确保应用程序的状态反射(reflect)在浏览器中的 URL)。因此,重定向需要发送 GET 请求,GET 请求中将包含您的参数。

关于java - 将变量传递给来自外部 Controller 的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5523496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com