【问题标题】:laravel 5 authentication not workinglaravel 5 身份验证不起作用
【发布时间】:2016-02-16 19:27:35
【问题描述】:

我有以下问题。我正在使用 php 和 laravel 5.0.33 开发一个网站。我有一台开发机器和一个 Web 服务器。

现在,我通过覆盖AuthenticatesAndRegistersUsers postRegister 方法来拦截注册过程,但没有运气,因为拦截不是在服务器上执行的,在我的本地环境中一切都按预期工作。

我还在我的 AuthController 的 postRegister 方法上添加了一个die();,该方法覆盖了在提到的 trait 上定义的方法,并且永远不会到达该行。


\Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers 上的原始特征方法:

public function postRegister(Request $request) {
    $validator = $this->registrar->validator($request->all());
    if ($validator->fails()) {
        $this->throwValidationException(
            $request, $validator
        );
    }
    $this->auth->login($this->registrar->create($request->all()));
    return redirect($this->redirectPath());
}

我在 \Project\Http\Controllers\Auth\AuthController 上的 AuthController 中重写的方法:

use AuthenticatesAndRegistersUsers;

//Override of the register process
public function postRegister(\Illuminate\Http\Request $request) {
    die ('aqui');
}

那么,是什么阻止了代码进入我的覆盖方法? 在我的本地开发机器和服务器中,php版本都是相同的。

编辑: 坏消息是,如果我尝试在网站上登录用户,则会发生相同的行为,登录无法作为注册。请求永远不会到达控制器。这花了我一整天的时间....:(。在登录时我还覆盖了一个方法。

【问题讨论】:

  • 想不出为什么会发生这种情况,除了缓存的路由。在本地和服务器机器上运行php artisan route:list 并粘贴到这里。
  • @BharatGeleda 路由很好,两个清单显示身份验证路由重定向到正确的控制器和操作。就像身份验证失败一样。
  • 你能路由到你的 AuthController 上的其他方法吗?我怀疑什么都无法访问您的 AuthController
  • @Jessedc 是的,确实,我可以显示登录页面、恢复密码页面、注册页面....问题是我认为使用 POST 方法。但是这些路线没有受到影响,它们与 laravel 开箱即用的路线相同。
  • 看看artisan命令。 php artisan 一切都列出来了。

标签: php laravel laravel-5 traits


【解决方案1】:

因此,错误是由于托管服务提供商在虚拟主机上的错误配置造成的,其中所有请求的 url 都带有斜杠,但如果 POST 请求完成并添加了斜杠,则随后的重定向会转换将 POST 请求转换为 GET 请求。在向托管服务提供商解释了两天之后,我获得了修改虚拟主机配置的权限,并添加了一条规则来避免重定向 POST 请求。

这是修复前的重定向:

   # Enforce trailing slash policy
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*[^/])$ /es/$1/ [L,R=301]

以及修复后的重定向:

   # Enforce trailing slash policy
 RewriteCond %{REQUEST_METHOD} !=POST
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*[^/])$ /es/$1/ [L,R=301]

感谢大家的关注和回复。

【讨论】:

    猜你喜欢
    • 2015-07-28
    • 1970-01-01
    • 2016-10-21
    • 2017-02-04
    • 1970-01-01
    • 2015-07-19
    • 2013-04-17
    • 2016-04-05
    相关资源
    最近更新 更多