Merge pull request #932 from JeffreyWay/feature/auth_attempt_extend
Extend Auth::Attempt()
This commit is contained in:
commit
c937f98b49
|
@ -21,17 +21,24 @@ public function retrieve($id)
|
||||||
/**
|
/**
|
||||||
* 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 @@ protected function model()
|
||||||
return new $model;
|
return new $model;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,15 +25,14 @@ public function retrieve($id)
|
||||||
/**
|
/**
|
||||||
* 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 @@ public function attempt($arguments = array())
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue