我目前正在尝试从CodeIgniter切换到Laravel。
我已经成功实施了hybridouth方法,但它似乎只适用于指定的路线。
我尝试过搜索教程和示例,但即使他们只显示auth正在使用1条路线。
如何在每条路线上提供一些功能来检查用户是否已登录?
需要auth的组。
Route::group(array('before' => 'auth'), function()
{
// ALL ROUTES WITH AUTH NEEDED
});
这似乎称为普通的auth,我正在使用hybridauth
Route::get('social/{action?}', array("as" => "hybridauth", function($action = "")
{
if ($action == "auth") {
try {
Hybrid_Endpoint::process();
}
catch (Exception $e) {
return Redirect::route('hybridauth');
}
return;
}
try {
$socialAuth = new Hybrid_Auth(app_path() . '/config/hybridauth.php');
$provider = $socialAuth->authenticate("facebook");
$userProfile = $provider->getUserProfile();
}
catch(Exception $e) {
return $e->getMessage();
}
echo "<pre>" . print_r( $userProfile, true ) . "</pre><br />";
}));
答案 0 :(得分:0)
如果您要在每条路线上运行请求,请使用过滤器
App::before(function($request)
{
//check if user logged in here
});
或创建过滤器并将路线分组
Route::group(array('before' => 'auth'), function()
{
});