Add more middleware tests

This commit is contained in:
Dane Everitt 2017-11-03 18:16:49 -05:00
parent 133fd17da6
commit 7882250baf
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
13 changed files with 515 additions and 48 deletions

View file

@ -73,27 +73,23 @@ class RequireTwoFactorAuthentication
*/
public function handle(Request $request, Closure $next)
{
// Ignore non-users
if (! $request->user()) {
return $next($request);
}
// Skip the 2FA pages
if (in_array($request->route()->getName(), $this->except)) {
return $next($request);
}
// Get the setting
switch ((int) $this->settings->get('2fa', 0)) {
case self::LEVEL_NONE:
return $next($request);
break;
case self::LEVEL_ADMIN:
if (! $request->user()->root_admin) {
if (! $request->user()->root_admin || $request->user()->use_totp) {
return $next($request);
}
break;
case self::LEVEL_ALL:
if ($request->user()->use_totp) {
return $next($request);