Auth :: guard () работает неправильно в представлении laravel 5.7 - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть контроллер:

if( Auth::attempt(['mssv' => $username,'password' =>$password])) {
      $success = new MessageBag(['successlogin' => 'Login Success]);
      return redirect()->back()->withErrors($success);
}
elseif( Auth::guard('admins')->attempt(['manv' => $username,'password' =>$password])) {
      $success = new MessageBag(['successlogin' => 'Login Success]);
      return redirect()->back()->withErrors($success);
}
else {
      $errors = new MessageBag(['errorlogin' => 'Login Fail']);
      return redirect()->back()->withErrors($errors);
}

и просмотр:

@guest
    <li class="nav-item">
        <a class="nav-link" href="#">Guest page</a>
      </li>
@endguest
@auth
 @if(Auth()->guard('admins')->check())
  <li class="nav-item">
     <a class="nav-link" href="#">Admin Page</a>
  </li>
 @elseif(Auth()->user()->check())
  <li class="nav-item">
     <a class="nav-link" href="#">User Page</a>
  </li>
 @endif
@endauth

, но когда я захожу с учетной записью пользователя, он показывает страницу администратора.когда я захожу с учетной записью администратора, она показывает гостевую страницу, я не знаю почему, пожалуйста, помогите!

1 Ответ

0 голосов
/ 21 ноября 2018

возможно, ваша проблема в том, что вы не выходили из учетной записи администратора раньше, и вы можете попробовать это перевести @ guest

@if(!Auth::check() && !Auth()->guard('admins')->check())
//anything 
@endif

Гудлак!

...