我陷入了认证循环,因为我的生活无法理解为什么。
Route::get('/', function()
{
return View::make('hello');
//return 'Hello ' . Auth::user()->first_name . '!';
});
Route::get('/login', function() {
return View::make('login');
});
Route::post('/login', function() {
// @TODO: Validate the login details!
Auth::attempt(array(
'email' => Input::get('email'),
'password' => Input::get('password')
));
return Redirect::to('/');
});
Route::group(array('before' => 'auth'), function() {
Route::get('/home', function()
{
//return View::make('hello');
return 'Hello ' . Auth::user()->first_name . '!';
});
/*
|--------------------------------------------------------------------------
| API Route Handlers
|--------------------------------------------------------------------------
|
| The API Routes.
|
*/
Route::group(array('prefix' => 'api/v1'), function() {
Route::resource('events', 'EventsController');
});
});
以下是事件序列:
我转到localhost:8000/home
它可以正常工作并将我重定向到/login
。
然后我继续登录。
如果我转到/
,它会将我重定向到/home
,它仍会将我带到/login
理想情况:
转到/home
仅重定向到/login
然后我登录。
它将我重定向到/
然后,我可以在/
和/home
之间自由移动而无需担心登录。
编辑1
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('email')->unique();
$table->string('password');
$table->string('first_name');
$table->string('last_name');
$table->string('id_number')->unique();
$table->enum('user_type', array('option 1', 'option 2', 'option 3'));
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
答案 0 :(得分:0)
修正了 - 问题是没有设置Auth::attempt()
的值。
这是我新的代码版本。
Route::get('/', function()
{
return View::make('hello');
//return 'Hello ' . Auth::user()->first_name . '!';
});
Route::get('/login', function() {
return View::make('login');
});
Route::post('/login', function() {
// @TODO: Validate the login details!
$valid = Auth::attempt(array(
'email' => Input::get('email'),
'password' => Input::get('password')
));
if ($valid)
{
return Redirect::to('/home');
}
else
{
return Redirect::to('/');
}
});
Route::group(array('before' => 'auth'), function() {
Route::get('/home', function()
{
//return View::make('hello');
return 'Hello ' . Auth::user()->first_name . '!';
});
/*
|--------------------------------------------------------------------------
| API Route Handlers
|--------------------------------------------------------------------------
|
| The API Routes.
|
*/
Route::group(array('prefix' => 'api/v1'), function() {
Route::resource('events', 'EventsController');
});
});