2016-10-04 87 views
1

我是laravel的新用户。我正在使用这个惊人的框架构建一个项目,但我没有遇到问题。我想阻止框架在注册后登录用户,但我无法。我搜索谷歌,我得到的是5.2版本,这是从我的不同。Laravel 5.3.14 - 注册后无效登录

请帮我解决这个问题。

+0

注册后只是做:$请求 - >会话() - >刷新(); – num8er

+0

我必须显示一个flash消息,并且这种方法会阻止它 – Prince

+0

所以把flash消息给变量并传递给查看和刷新会话 – num8er

回答

3

解决方案

您可以通过在App\Http\Controllers\Auth\RegisterController.php重写register()方法做到这一点。

RegisterController.php中,创建一个覆盖父方法的新方法。

// In your RegisterController.php 

public function register(\Illuminate\Http\Request $request) 
{ 
    // validate the form 

    $this->validator($request->all())->validate(); 

    // add the user 
    $this->create($request->all()); 

    // redirect user 
    return redirect($this->redirectPath()); 
} 

这里是父类的方法是什么样子。注意行$this-guard()->login()

public function register(Request $request) 
{ 
    $this->validator($request->all())->validate(); 

    // notice this line: 
    $this->guard()->login($this->create($request->all())); 

    return redirect($this->redirectPath()); 
} 

注意它注册后登录用户。我们基本上推翻了这种方法并且把东西都一样,除了我们没有登录的用户。

+2

谢谢,在看到你的答案之前,我评论了'$ this-> guard ) - > login($ this-> create($ request-> all()));'一切正常。但我认为你的答案更好。 – Prince

+0

嘿@泰勒,请检查此:http://stackoverflow.com/questions/39864069/set-a-string-field-to-null-in-laravel-5-3-14 – Prince

0

在laravel 5.4 RegisterController.php在这个路径中找到

供应商\ laravel \框架的\ src \照亮\基金会\验证

你可以发表评论这个

**

$this->guard()->login($user);

**