Laravel 5.8 Выход, возврат, нажатая кнопка и ошибка - PullRequest
0 голосов
/ 11 июля 2020

Я использую аутентификацию по умолчанию из Laravel, и после регистрации она перенаправляет на мой шаблон cms. Затем я вырезал раздел выхода из исходной страницы Laravel и вставил его в свой шаблон cms только для раздела выхода. Однако, как только я выйду из системы и снова щелкну в браузере, можно будет перейти к предыдущей странице, но после того, как я нажму кнопку, например «Изменить», появится уведомление ниже.

Попытка получить имя свойства 'не-объектного (View: C: \ xampp \ htdocs \ my laravel \ resources \ views \ master \ header.blade. php)

Я хочу, чтобы при нажатии кнопки «Редактировать» или других кнопок происходит возврат на страницу входа в систему, и ошибки, как указано выше, не возникает. Как я могу это сделать? (Я пробовал session::flush, и другие вещи действительно не работали. Теперь я просто нужно, когда пользователь нажимает любую кнопку обработки, он будет направлять на страницу входа после выхода из системы).

Просмотр моего шаблона:

<li class="nav-item dropdown">
   <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
      <h8>You Are Loged as,</h8>
      <b>{{ Auth::user()->name }}</b><span class="caret"></span>
   </a>
   <a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> {{ __('Logout') }}</a>
   <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
      {{ csrf_field() }}
   </form>
   </div>
</li>

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Решение просто, не на маршруте, и в laravel 5.8 маршрутизация действительно не нужна (вам нужно использовать маршрутизацию, если вы создали собственные страницы аутентификации и перенаправления). Добавьте эту библиотеку в свой контроллер:

use Illuminate\Support\Facades\Auth;

И добавив это также в свой контроллер:

public function __construct()
    {
        $this->middleware('auth');
        $this->user =  \Auth::user();
    }

Я не нашел решения для кнопки возврата в браузере и перенаправления на другой или страницу входа в систему, по крайней мере, это то, что я могу сделать. Это предотвращает работу кнопки на вашей странице и перенаправляет на страницу входа.

0 голосов
/ 11 июля 2020

Вы можете использовать промежуточное ПО для аутентификации по умолчанию в нескольких маршрутах, создав группу маршрутов.

    Route::group(['middleware' => ['auth']], function () {
        Route::post('/editPost', 'YourPostController@edit');
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...