我是laravel的新手,所以我开始创建一个消息传递应用程序。用户应该能够相互发送消息。所以我创建了迁移,种子,模型以及模型中定义的关系。一切都很好。我能够完美地播种。
所以我创建了一个登录页面,应用了验证。但现在我无法登录。
这是路线:
Route::group(array('prefix'=>'social'), function(){
Route::get('/', array('as' => 'loginformshow', 'uses' => 'LoginformController@showLogin'));
Route::post('loginform', array('as'=>'loginformdo', 'uses'=>'LoginformController@doLogin'));
Route::get('loggedin', array('as'=>'loggedin', 'uses'=>'LoginformController@loggedin'));
});
这是控制器中的相应方法
public function doLogin(){
$rules = array('email'=> 'required|email', 'password'=>'required');
$validator = Validator::make(Input::all(), $rules);
if($validator->fails()){
return Redirect::to('social')->withErrors($validator)->withInput(Input::except('password'));
}else {
$userdata = array('email' => Input::get('email'), 'password' => Input::get('password'));
if(Auth::attempt($userdata)) {
return Redirect::route('loggedin');
}else echo "Invalid User";
}
}
Auth::attempt
每次都返回false,因此输出为Invalid User
。
我使用print_r
检查$userdata
中收到的数据,并显示正确的凭据。
以下是用户模型:
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password');
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public function getAuthIdentifier()
{
return $this->getKey();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
return $this->password;
}
/**
* Get the e-mail address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
return $this->email;
}
public function conversationsReply(){
return $this->hasMany('ConversationReply', 'user_id', 'id');
}
}