在 Laravel 4.2 中,可以通过以下步骤实现登录后的重定向:
app/routes.php
文件中定义登录路由和重定向路由。例如:Route::get('login', 'AuthController@showLoginForm');
Route::post('login', 'AuthController@login');
Route::get('dashboard', ['before' => 'auth', 'uses' => 'DashboardController@index']);
AuthController
的控制器,用于处理用户认证相关的逻辑。可以使用以下命令生成控制器:php artisan make:controller AuthController
AuthController
中,使用 Auth
Facade 提供的 attempt
方法来验证用户登录。如果验证成功,可以使用 Redirect
Facade 提供的 intended
方法来获取之前访问的 URL,并进行重定向。例如:use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;
class AuthController extends BaseController
{
public function showLoginForm()
{
return view('login');
}
public function login()
{
$credentials = [
'email' => Input::get('email'),
'password' => Input::get('password')
];
if (Auth::attempt($credentials)) {
return Redirect::intended('dashboard');
} else {
return Redirect::back()->withInput()->withErrors('Invalid credentials');
}
}
}
DashboardController
的控制器,用于处理登录后的重定向页面。可以使用以下命令生成控制器:php artisan make:controller DashboardController
DashboardController
中,编写 index
方法来处理重定向后的页面逻辑。例如:class DashboardController extends BaseController
{
public function index()
{
return view('dashboard');
}
}
login.blade.php
和 dashboard.blade.php
,分别用于显示登录表单和重定向后的页面内容。通过以上步骤,当用户在登录表单中输入正确的凭据并提交后,系统会验证用户登录信息。如果验证成功,系统将重定向到之前访问的 URL 或指定的 dashboard
路由,否则将返回登录表单并显示错误消息。
领取专属 10元无门槛券
手把手带您无忧上云