0

我刚刚开始使用 Symfony(版本 2.2.1)并且遇到了一个小问题。

我在 IntraController->indexAction 中有一个纯 HTML 表单(非 Symfony),我希望它发布到 AuthController->loginAction。当我想检查 loginAction 以查看 POST 是否传递给它时,它只显示一个空对象。

我的 HTML 表单如下:

<form class="form-signin" action="auth/login" method="post">
  <h2 class="form-signin-heading">Admin Access</h2>
  <div class="input-prepend">
    <span class="add-on" style="padding: 7px 9px;"><i class="icon-user"></i></span>
    <input type="text" name="a_username" class="input-block-level" placeholder="Username...">
  </div>
  <div class="input-prepend">
    <span class="add-on" style="padding: 7px 9px;"><i class="icon-lock"></i></span>
    <input type="password" name="a_password" class="input-block-level" placeholder="Password...">
  </div>
  <button class="btn btn-success" name="post_auth" type="submit">Authenticate</button>
  <a class="btn" href="../">Return to Homepage</a>
</form>

这就是我试图在 loginAction 中获取 POST 请求的方式:

public function loginAction(){
    return new Response(serialize($this->getRequest()->request->all()));
}

我还尝试使用以下方法获取单个 POST 项目:

return new Response(serialize($this->getRequest()->request->get('a_username')));

可悲的是,我收到了一个空的 POST,所以我猜测它在进入 auth/login 时会被清空。我怎样才能保留 POST 数据使其不会被清空?

4

1 回答 1

0

您缺少 CSRF 密钥。除非您明确禁用 CSRF 保护,否则您将无法使用这样的静态表单。

于 2013-07-02T13:47:47.527 回答