【发布时间】:2014-10-30 07:41:49
【问题描述】:
当我登录时,它应该将我重定向到 /spotlight,但它没有。如果您没有登录并且您尝试访问 /spotlight 它会将您重定向到登录。 知道为什么吗?
【问题讨论】:
-
登录成功后会在哪里登陆?
-
我想了很多:/ 请在下面查看我的答案。
标签: php laravel-4 frameworks laravel-routing
当我登录时,它应该将我重定向到 /spotlight,但它没有。如果您没有登录并且您尝试访问 /spotlight 它会将您重定向到登录。 知道为什么吗?
【问题讨论】:
标签: php laravel-4 frameworks laravel-routing
您在为 Spotlight 提供路由之前运行 auth 过滤器,因此这必须检查用户是否已登录,如果未登录,则将他们重定向到登录页面。
在登录路径中你需要改变这个:
return Redirect::intended('/');
对此:
return Redirect::intended('/spotlight');
现在应该在登录后重定向到聚光灯路由。
【讨论】:
试试
Redirect::route('spotlight');
并创建该路线
Route::get("/spotlight", array( "as" => "spotlight", "uses" => "Controller@function");
【讨论】:
请重新编写您的“登录”路线,如下所示。根据您当前的逻辑,无论身份验证是否成功,您都会再次看到“登录”页面;您必须有一个else 子句,以便login 页面仅在身份验证失败时才重新加载:
Route::post('/login', function()
{
$credentials = Input::only('username', 'password');
if (Auth::attempt($credentials)) {
return Redirect::intended('/');
}
else
{
return Redirect::to('login');
}
});
【讨论】: