首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel 5认证不起作用

laravel 5认证不起作用
EN

Stack Overflow用户
提问于 2016-02-16 19:27:35
回答 1查看 413关注 0票数 0

我有以下问题。我正在开发一个使用php和Laravel5.0.33的网站。我有一台开发机器和一个web服务器。

现在,我正在通过重写AuthenticatesAndRegistersUsers postRegister方法来拦截注册进程,但是没有成功,因为没有在服务器上执行拦截,在我的本地环境中,所有这些都可以正常工作。

我还在我的die();的postRegister方法上添加了一个AuthController,这个方法覆盖了所提到的特征上的定义,并且永远也没有到达这一行。

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

代码语言:javascript
复制
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上的\Project\Http\Controllers\Auth\AuthController中过度使用的方法:

代码语言:javascript
复制
use AuthenticatesAndRegistersUsers;

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

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

编辑:坏消息--如果我尝试在网站上登录一个用户,登录就不起注册作用了。请求永远不会到达控制器。这使我花了一整天的时间.:在登录时,我还重写了一个方法。

EN

回答 1

Stack Overflow用户

发布于 2016-02-17 19:52:00

因此,错误是由于托管提供者在虚拟主机上做了错误配置,其中所有请求urls都有一个尾斜杠,但是如果完成了POST请求并添加了尾斜杠,则后续重定向将POST请求转换为get请求。在向主机提供商解释了这两天之后,我获得了修改虚拟主机配置的权限,并添加了一条规则以避免重定向POST请求。

这是修复之前的重定向:

代码语言:javascript
复制
   # Enforce trailing slash policy
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*[^/])$ /es/$1/ [L,R=301]

修复后的重定向:

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

感谢你的关心和回应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35441395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档