【发布时间】:2018-07-11 16:42:49
【问题描述】:
我正在使用 Laravel 5.5 和 mysql 数据库,会话存储在数据库中。
@Problem : 每当我刷新或进入另一个页面时,它都会将我注销并将我重定向回登录页面。
@Cause : 调试后,我发现每当我在名为master.blade.php 的视图模板中@include 一个视图top.blade.php 时,当我刷新页面时,它会自动注销我并终止会话。
top.blade.php里面的代码:
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<!-- Mobile Menu -->
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Header Icon -->
<a href="{{ url('/') }}">
<img class="navbar-brand" src="{{ asset('images/head.png') }}" alt="Little Project">
</a>
<!-- Message Of The Day -->
<div class="navbar-text visible-xs"><p>Little Project</p></div>
{{ Auth::user()}} <!-- to check the user info if it retains -->
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<!--Right side of the NavBar -->
<ul class="nav navbar-nav navbar-right">
@guest
<li><a href="{{ route('login') }}">Login</a></li>
<li><a href="{{ route('register') }}">Register</a></li>
@else
<li><a href="{{ route('home') }}">Demo</a></li>
<li><a href="{{ Auth::logout() }}">Logout</a></li>
@endguest
</ul>
</div><!-- /.navbar-collapse -->
虽然master.blade.php 文件是
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<!--meta header-->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<!-- Title -->
<title>Little Project</title>
</head>
<body>
@include('constants.top')
<div class="container">
<!-- Contents -->
@yield('content')
</div>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
但是刷新时,只要我@include top.blade.php,它就会销毁所有会话
【问题讨论】:
-
感谢您的反馈,我发现我的问题实际上是每次加载页面时都会调用
Auth::logout()。谢谢!
标签: php laravel session laravel-5 laravel-blade