Laravel 5.1 — При регистрации пользовательское приложение перенаправляет на / панель инструментов, но не проверяет, подтверждена ли учетная запись

Когда мои пользователи регистрируются в моем приложении, оно автоматически перенаправляет их на /dashboard что технически хорошо, но он не проверяет, если confirmed столбец в базе данных имеет значение 1 или же 0, это просто вход в систему на основе имени пользователя и пароля.

Я с радостью включу код, но сейчас я не знаю, какой код вам, ребята, нужен.

Мне нужно это проверить confirmed столбец и если это 0, чтобы не войти в них и бросить и ошибка.

спасибо за любую информацию,

Энди

3

Решение

Я достигаю этого, используя промежуточное программное обеспечение:

Мои маршруты.php:

Route::get('home', ['middleware' => 'auth', function ()    {

return "This is just an example";

}]);

Мой Kernel.php:

protected $routeMiddleware = [

'auth' => \App\Http\Middleware\Authenticate::class,

];

Мое промежуточное программное обеспечение Authenticate.php:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;

class Authenticate
{
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;

/**
* Create a new filter instance.
*
* @param  Guard  $auth
* @return void
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}

/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('auth/login');
}
}

$user = $this->auth->user();
if (!$user->confirmed) {
$this->auth->logout();
return redirect()->guest('auth/login')->with('error', 'Please confirm your e-mail address to continue.');
}

if (!$user->type) {
$this->auth->logout();
return redirect()->guest('auth/login')->with('error', 'A user configuration error has occurred. Please contact an administrator for assistance.');
}

return $next($request);
}
}

Я пытался сократить это как можно больше для вас.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]