Php Laravel注销重定向不工作
我试图找出为什么我的控制器操作没有像预期的那样执行重定向 当我单击我的注销操作时,它应该终止一个用户会话并重定向到主页,但它重定向到管理/注销操作Php Laravel注销重定向不工作,php,laravel,http-redirect,laravel-routing,Php,Laravel,Http Redirect,Laravel Routing,我试图找出为什么我的控制器操作没有像预期的那样执行重定向 当我单击我的注销操作时,它应该终止一个用户会话并重定向到主页,但它重定向到管理/注销操作 //controller public function getLogout() { Auth::logout(); return Redirect::route('/'); } //routes Route::controller('admin', 'AdminController'); Route::controller
//controller
public function getLogout()
{
Auth::logout();
return Redirect::route('/');
}
//routes
Route::controller('admin', 'AdminController');
Route::controller('/', 'HomeController');
//blade
{{ HTML::linkAction('AdminController@getLogout','Logout') }}
提前感谢您的帮助。我想您可以使用:
然后在控制器中:
return Redirect::route('/');
或者对于您当前的路线,这可能会起作用:
// Define the route
Route::controller('/', 'HomeController');
// Controller
return Redirect::to('/');
试试这个:
{{ HTML::linkAction('HomeController@getLogout','Logout') }}
在路线上
Route::get('HomeController@getLogut', 'logout');
像这样的链接
<a href="/logout">Logout</a>
您的路线:
Route::get('/', array('as' => 'home', 'uses' => 'HomeController@index'));
然后你的刀片:
{{ link_to_route('home','Home')}}
解决方案是,laravel要求用户表具有一个remember_令牌,用于避免cookie劫持 只需在users表中添加一个名为“memore_token”的100个字符的可空字段,然后运行迁移 默认用户模型中会有一个很好的提示,因为该字段已经定义 有关更多信息,请查看链接:
我认为这是因为当您使用
Redirect::route()
时,应该包括路由名称。看
否则,如果您仍要转到并重定向到/
,而不定义其路由名称。您可以改为使用Redirect::to()
Route::get('/', array('as' => 'home', 'uses' => 'HomeController@index'));
{{ link_to_route('home','Home')}}
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName()
{
return 'remember_token';
}
public function getLogout()
{
Auth::logout();
return Redirect::to('/');
}