Commit c937f98b authored by Taylor Otwell's avatar Taylor Otwell

Merge pull request #932 from JeffreyWay/feature/auth_attempt_extend

Extend Auth::Attempt()
parents 19c64f1e c659a926
...@@ -21,17 +21,24 @@ class Eloquent extends Driver { ...@@ -21,17 +21,24 @@ class Eloquent extends Driver {
/** /**
* Attempt to log a user into the application. * Attempt to log a user into the application.
* *
* @param array $arguments * @param array $arguments
* @return void * @return void
*/ */
public function attempt($arguments = array()) public function attempt($arguments = array())
{ {
$username = Config::get('auth.username'); $user = $this->model()->where(function($query) use($arguments)
{
$username = Config::get('auth.username');
$query->where($username, '=', $arguments['username']);
$user = $this->model()->where($username, '=', $arguments['username'])->first(); foreach(array_except($arguments, array('username', 'password', 'remember')) as $column => $val)
{
$query->where($column, '=', $val);
}
})->first();
// This driver uses a basic username and password authentication scheme // If the credentials match what is in the database we will just
// so if the credentials match what is in the database we will just
// log the user into the application and remember them if asked. // log the user into the application and remember them if asked.
$password = $arguments['password']; $password = $arguments['password'];
...@@ -57,4 +64,4 @@ class Eloquent extends Driver { ...@@ -57,4 +64,4 @@ class Eloquent extends Driver {
return new $model; return new $model;
} }
} }
\ No newline at end of file
...@@ -25,15 +25,14 @@ class Fluent extends Driver { ...@@ -25,15 +25,14 @@ class Fluent extends Driver {
/** /**
* Attempt to log a user into the application. * Attempt to log a user into the application.
* *
* @param array $arguments * @param array $arguments
* @return void * @return void
*/ */
public function attempt($arguments = array()) public function attempt($arguments = array())
{ {
$user = $this->get_user($arguments['username']); $user = $this->get_user($arguments);
// This driver uses a basic username and password authentication scheme // If the credentials match what is in the database we will just
// so if the credentials match what is in the database we will just
// log the user into the application and remember them if asked. // log the user into the application and remember them if asked.
$password = $arguments['password']; $password = $arguments['password'];
...@@ -48,18 +47,26 @@ class Fluent extends Driver { ...@@ -48,18 +47,26 @@ class Fluent extends Driver {
} }
/** /**
* Get the user from the database table by username. * Get the user from the database table.
* *
* @param mixed $value * @param array $arguments
* @return mixed * @return mixed
*/ */
protected function get_user($value) protected function get_user($arguments)
{ {
$table = Config::get('auth.table'); $table = Config::get('auth.table');
$username = Config::get('auth.username'); return DB::table($table)->where(function($query) use($arguments)
{
$username = Config::get('auth.username');
$query->where($username, '=', $arguments['username']);
return DB::table($table)->where($username, '=', $value)->first(); foreach(array_except($arguments, array('username', 'password', 'remember')) as $column => $val)
{
$query->where($column, '=', $val);
}
})->first();
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment