X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/66c56e9d02efe5ee6c77fcb41ba82176c65f5475..refs/pull/695/head:/app/Http/Middleware/Authenticate.php diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 81392fe6e..c9b2726e8 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -4,21 +4,17 @@ namespace BookStack\Http\Middleware; use Closure; use Illuminate\Contracts\Auth\Guard; -use BookStack\Exceptions\UserRegistrationException; -use Setting; class Authenticate { /** * The Guard implementation. - * * @var Guard */ protected $auth; /** * Create a new filter instance. - * * @param Guard $auth */ public function __construct(Guard $auth) @@ -28,22 +24,24 @@ class Authenticate /** * Handle an incoming request. - * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { - if(auth()->check() && auth()->user()->email_confirmed == false) { - return redirect()->guest('/register/confirm/awaiting'); + if ($this->auth->check()) { + $requireConfirmation = (setting('registration-confirmation') || setting('registration-restrict')); + if ($requireConfirmation && !$this->auth->user()->email_confirmed) { + return redirect('/register/confirm/awaiting'); + } } if ($this->auth->guest() && !setting('app-public')) { if ($request->ajax()) { return response('Unauthorized.', 401); } else { - return redirect()->guest('/login'); + return redirect()->guest(baseUrl('/login')); } }