diff --git a/application/config/auth.php b/application/config/auth.php index 1f7a15f0..66312633 100644 --- a/application/config/auth.php +++ b/application/config/auth.php @@ -18,6 +18,19 @@ return array( 'driver' => 'eloquent', + /* + |-------------------------------------------------------------------------- + | Authentication Username + |-------------------------------------------------------------------------- + | + | Here you may specify the database column that should be considered the + | "username" for your users. Typically, this will either be "usenrame" + | or "email". Of course, you're free to change the value to anything. + | + */ + + 'username' => 'email', + /* |-------------------------------------------------------------------------- | Authentication Model diff --git a/laravel/auth/drivers/eloquent.php b/laravel/auth/drivers/eloquent.php index 38c2034b..5c0437d6 100644 --- a/laravel/auth/drivers/eloquent.php +++ b/laravel/auth/drivers/eloquent.php @@ -1,27 +1,7 @@ -model = $model; - - parent::__construct(); - } - /** * Get the current user of the application. * @@ -46,7 +26,9 @@ class Eloquent extends Driver { */ public function attempt($arguments = array()) { - $user = $this->model()->where('email', '=', $arguments['email'])->first(); + $username = Config::get('auth.username'); + + $user = $this->model()->where($username, '=', $arguments['username'])->first(); // This driver uses a basic username and password authentication scheme // so if the credentials match what is in the database we will just @@ -68,7 +50,9 @@ class Eloquent extends Driver { */ protected function model() { - return new $this->model; + $model = Config::get('auth.model'); + + return new $model; } } \ No newline at end of file diff --git a/laravel/auth/drivers/fluent.php b/laravel/auth/drivers/fluent.php index 909d9384..f48526f3 100644 --- a/laravel/auth/drivers/fluent.php +++ b/laravel/auth/drivers/fluent.php @@ -1,27 +1,7 @@ -table = $table; - - parent::__construct(); - } - /** * Get the current user of the application. * @@ -34,7 +14,7 @@ class Fluent extends Driver { { if (filter_var($id, FILTER_VALIDATE_INT) !== false) { - Database::table($this->table)->find($id); + DB::table(Config::get('auth.table'))->find($id); } } @@ -46,7 +26,7 @@ class Fluent extends Driver { */ public function attempt($arguments = array()) { - $user = Database::table($this->table)->where_email($arguments['email'])->first(); + $user = $this->get_user($arguments['username']); // This driver uses a basic username and password authentication scheme // so if the credentials mmatch what is in the database we will just @@ -61,4 +41,19 @@ class Fluent extends Driver { return false; } + /** + * Get the user from the database table by username. + * + * @param mixed $value + * @return mixed + */ + protected function get_user($value) + { + $table = Config::get('auth.table'); + + $username = Config::get('auth.username'); + + return DB::table($table)->where($username, '=', $value)->first(); + } + } \ No newline at end of file