2015-12-16 3 views
1

Im пытается реализовать встроенный пользователь. Аутентификация/Регистрация в laravel 5.1, но он перенаправляет на/home.Регистрация пользователя Laravel 5.1

Heres маршрут:

Route::post('sign_up' , 'Auth\[email protected]'); 

Форма

<form method="POST" action="http://localhost:8000/sign_up" accept-charset="UTF-8" class="form-horizontal"> 

Функция postRegister закомментирована поэтому его не следует никуда ехать:

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

ответ

1

Пожалуйста, обратите внимание, что настоящая логика происходящее в AuthenticatesUsers черта, которая находится в Illuminate\Foundation\Auth namespace.

И если вы обнаружите, что вы ответите на ответственный метод loginPath() на проверку наличия атрибута loginPath, который отвечает за перенаправление обратно на логин/просмотр.

Чтобы изменить процесс перенаправления добавить это свойство к вашему AuthController.php:

protected $loginPath = "/"; // redirect to where you want

Или, возможно, вы хотите перенаправить в вашей postRegister() после роли или какого-либо другого состояния, вы можете сделать это, как ниже код, который это кстати грязная дорога или, скажем, не пользуясь Laravel 5.1 новый authorization особенность:

/** 
* Handle a registration request for the application. 
* 
* @param \Illuminate\Http\Request $request 
* @return \Illuminate\Http\Response 
*/ 
public function postRegister(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

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

    // Change your loginPath here if you want: $this->loginPath = "/"; 

    Auth::login($this->create($request->all())); 

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

И стоит отметить, что другое параллельное свойство - $redirectTo, которое оно используется для перенаправляет на после успешной попытки входа в систему, вы можете добавить его в свой authController.php, i.e: снова вы должны использовать политики для перенаправления администраторов только на панель мониторинга и, возможно, обычных пользователей в профиль или дома!

protected $redirectTo = "dashboard";

Minor твик: в вашем случае

вы можете изменить ссылки на динамический поэтому, пожалуйста, сформировать заголовок сделать это следующим образом:

<form method="POST" action="{{ action('Auth\[email protected]') }}" accept-charset="UTF-8" class="form-horizontal">

Смежные вопросы