Merge pull request #932 from JeffreyWay/feature/auth_attempt_extend
Extend Auth::Attempt()
This commit is contained in:
@@ -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 {
|
|||||||
return new $model;
|
return new $model;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user