Странная проблема с логином в Laravel 5.3

Я использую Laravel 5.3. Я пытаюсь создать простой логин, в котором есть две разные бэкэнд-панели для разных пользователей. Я провел перекрестную проверку пользователя и перенаправил его через промежуточное ПО. Я сделал это, сделав контроллер Auth во фреймворке. Теперь проблема с логином. Я не знаю, но он не подключается к базе данных должным образом, я имею в виду, что пользователь не входит в систему. Но как только я выполняю регистрацию, пользователь регистрируется и база данных добавляется. Теперь, если я вхожу в систему через последние зарегистрированные данные пользователя, он входит в систему и показывает соответствующее представление. Пожалуйста, помогите мне:

Ниже приведен мой файл маршрута:

Auth::routes();
Route::get('/memberlogin', function(){
  return view('admin.memberlogin');
});

Мой файл Blade:

@extends('admin.authlayouts')

@section('content')
    <!-- Login content -->
    <div class="col-xs-12 tab-pane fade in active login-content">
        <span class="text-center">Login to your account</span>
        <div class="col-xs-12 login-form">
            <span class="text-center"><img src="images/icon-login.png" alt="login-icon"></span>
            <form role="form" method="POST" action="{{ url('/login') }}">
              {{ csrf_field() }}
                <div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}">
                    <label class="sr-only" for="username">Username</label>
                    <input type="text" id="username" name="username" value="{{ old('username') }}" placeholder="Username" class="input-field username form-control" required autofocus>
                  @if ($errors->has('username'))
                      <span class="help-block">
                          <strong>{{ $errors->first('username') }}</strong>
                      </span>
                    @endif
                </div>
                <div class="form-group">
                    <label class="sr-only" for="password">Password</label>
                    <input id="password" type="password" name="password" placeholder="Password" class="input-field password form-control">
                  @if ($errors->has('password'))
                      <span class="help-block">
                          <strong>{{ $errors->first('password') }}</strong>
                      </span>
                    @endif
                </div>
                <div class="form-group">
                    <label><input type="checkbox" name="" id="remember-check"> Remember me</label>
                    <input type="submit" value="Sign in" class="btn btn-success pull-right">
                </div>
            </form>                        
            <div class="forget-password">
                <span class="bold">Forgot your password?</span>
                No worries, <a class="bold" href="/memberresetpassword">click here</a> to reset your password
            </div>
            <div class="text-center click-to-register">
                <span>Don't have an Account yet?</span>
                <a class="btn btn-success btn-lg" href="/memberregister">Create an account</a>
            </div>
        </div>
    </div>
@endsection

И мой контроллер / Auth / LoginController:

<?php

namespace App\Http\Controllers\Auth;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use  \Auth;
class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = 'member/dashbaord';

    /**
     * Create a new controller instance.
     *
     * @return void
     */

    public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
    }

}

И мой Http / Middleware / RidirectIfAuthenticated:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
           if (Auth::user()->is_admin == 0)
           {     
             return redirect()->intended('/admin/dashboard');   
           }
           else 
           {
             return redirect('/member/dashboard');      
           }  
         }
        return $next($request);
    }
}

person Nitish Kumar    schedule 30.11.2016    source источник


Ответы (1)


Вы должны войти в систему, используя:

\Auth::attempt($credentials)
person sigmawf    schedule 30.11.2016
comment
Вы имеете в виду, что мне нужно сделать это вручную? Я имею в виду, что это обходит аутентификацию и входит в текущий сеанс. - person Nitish Kumar; 30.11.2016
comment
Перейдите в logincontroller, вы должны выполнить аутентификацию там в почтовом запросе с помощью \ Auth :: try ($ credentials). Если ваша проблема не в входе в систему, я предполагаю, что проблема не в промежуточном программном обеспечении. - person sigmawf; 30.11.2016
comment
\Auth::attempt($credentials) мне помог. Спасибо. - person Nitish Kumar; 30.11.2016