2016-11-23 90 views
1

我正在laravel 5.2中创建用户注册和登录页面。两者都在同一页面中,并由导航栏选项卡分隔。对于注册,我使用了表单操作和登录,我在按钮单击中使用了ajax。两者都很好。但问题是,在注册本身之后,登录URL会更改为注销。我只需要在用户登录网站后才需要它。以下是我的注册功能。auth check在laravel注册后返回true 5.2

protected function create(array $data) 
{ 

    $user = User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 

    $meber_role = Role::select('id')->where('slug', 'member')->get(); 

    $RoleUser = new RoleUser; 
    $data['role_id'] = $meber_role[0]->id; 
    $RoleUser->fill($data); /* user Role */ 
    $user->RoleUser()->save($RoleUser); 

    return $user; 
} 

我用下面的代码来检查用户是否登录。如果用户登录,则登录头中的登录更改为注销。

@if(!Auth::check()) 
    <div class="sign-in"> 
     <a href="{{url('login')}}" title="login" class="clsComLogin"><i class="icon-user icons"></i><span>Login</span></a> 
    </div> 
@else 
    <div> 
     <a href="{{ url('auth/logout') }}"><i class="fa fa-sign-out"></i>&nbsp;Logout</a> 
    </div> 
@endif 

现在注销网址出现在注册后的标题本身。如何改变这种情况。提前致谢。

+0

嗯,这似乎很奇怪。登录网址如何改变为注销?你能提供你的路线吗? –

+0

Route :: get('login','LoginController @ index'); //)用于加载登录和注册页面 Route :: group(['middlewareGroups'=> ['web']],function(){ Route :: controllers('auth'=>'Auth \ AuthController' , 'password'=>'Auth \ PasswordController', ]); – Rose

回答

2

默认情况下,用户在注册后登录。要改变这种情况,请添加或覆盖postRegister()功能。这只注册但不登录。

public function postRegister(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    $this->create($request->all()); 

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

感谢Sanzeeb :) – Rose

相关问题