无法在Laravel4中以管理员身份登录

时间:2015-02-21 16:46:39

标签: php laravel-4

我已经创建了一个管理界面(一个非常简单的管理界面)。但是如果我想以管理员身份登录,我无法以管理员身份登录,但我的用户名和密码绝对正确。

我的管理控制器驻留,

app/
 controller/
   Admin/
      AdminController.php

我的观点存在

app/
 views/
   admin/
      Admin-login.blade.php

我已经创建了类似这样的路线

Route::get('admin',array(

    'as' => 'admin',
    'uses' =>'Admin\AdminController@AdminLogin'

));

Route::group(array('before' => 'auth'),function(){


  //These Urls are Intended page after Admin Sign In
    Route::get('marriage-admin/',array(

         'as' => 'marriage-admin',
         'uses' => 'MarriageController@MarriageAdmin'
        ));

    Route::post('edit-marital-data',array('as' => 'edit-marital-data','uses' => 'MarriageController@EditMarritalStatus'));
    Route::post('searched-marital-data',array('as' => 'searched-marital-data','uses' => 'MarriageController@SearchMarriage'));

}

Route::group(array('before' => 'guest'),function(){

/* CSRF Protect*/
Route::group(array('before' => 'csrf'),function(){
   Route::post('admin-marriage',array(

               'as' => 'admin-marriage',
               'uses' => 'Admin\AdminController@AdminLoginPost'

            ));
 }
}

这是我的管理员控制器

<?php

namespace Admin;

class AdminController extends \BaseController{

public function AdminLogin(){
    return \View::make('admin.login');
}

public function AdminLoginPost(){



    $auth=\Auth::attempt(array(

      'username' => \Input::get('username'),
      'password' => \Input::get('password')
        ));

    if($auth){

        return \Redirect::intended('marriage-admin');

    }else{

        return \Redirect::route('admin')->with('global','The username or password you provided is wrong!');
    }
    return Rediret::route('admin')->with('global','Please Review Your Admin Database.');
}


}

?>

我也创建了一个Admin.php模型,因为我的数据库中有一个不同的表admins

<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class Admin extends Eloquent implements UserInterface, RemindableInterface       {



    public function getRememberToken()
    {
        return $this->remember_token;
    }

    public function setRememberToken($value)
    {
        $this->remember_token = $value;
    }

    public function getRememberTokenName()
    {
        return 'remember_token';
    }

    /*public static function blood_search($blood_group){

        return static::where('blood_group','LIKE','%'.$blood_group.'%');
    } */



    protected $table = 'admins';

    protected $fillable=array
    (   'username',
        'password'

    );



    use UserTrait, RemindableTrait;



}

在提及,页面登录后,或者你可以说Admin的无聊点是来自另一个控制器,即 MarriageController

现在,如果我尝试以管理员身份登录。  我收到了消息

The username or password you provided is wrong!

我已在管理员控制器中设置,如果auth失败。

为什么我收到此消息虽然我提供的usernamepassword是绝对正确的? 现在我的问题是,我错过了Admin ??

的一些配置

1 个答案:

答案 0 :(得分:0)

Laravel没有使用md5加密。在创建用户时,您需要使用laravel Hash :: make()

来填充密码
User::create(array(
    'username' => Input::get('username'),
    'password' => Hash::make(Input::get('password'))
));

如果要手动将其插入数据库,则

return Hash::make('yourpass');

然后粘贴返回的结果。