即使登录后,Laravel也会重定向到每个页面上登录

时间:2017-02-10 08:55:56

标签: php laravel redirect entrust

自从我删除了Entrust后,我遇到了Laravel的问题。

一切正常,直到我尝试安装Entrust。我删除了它,因为它一直说出以下消息与此问题Laravel cache store does not support tagging

相同
  

Laravel缓存存储不支持标记

我删除了与Entrust有关的所有内容并删除了我必须进行的任何更改但是从那时起,每当我尝试登录后转到另一个页面时,它都会重定向回登录页面。我重新登录并重新定向到仪表板,但是当我转到另一个页面时,它会将我重新定向回登录状态。

任何想法如何解决这个问题?

更新

我认为我已经缩小了这个问题。

我创建了一个新项目并重新开始。我创建了Auth,创建了几个测试控制器和视图。

我正常登录,然后被重定向到Home控制器。然后我去了另一个页面,它应该正常加载。视图使用views / layouts / app.blade.php中的默认布局。一旦我将其更改为自定义布局,问题就会再次出现,但如果我将其更改回app.blade.php则可以。

这是我的新default.blade.php,但我不知道为什么它不再起作用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>@yield('title')</title>
    <link rel="icon" type="image/png" href="public/css/favicon-32x32.png" sizes="32x32">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css">
    {{ HTML::style('css/bootstrap.css') }}
    @if (!empty($styles))
    @foreach($styles as $style)
    {{ HTML::style($style . '.css') }}
    @endforeach
    @endif
    {{ HTML::style('css/app.css') }}
    {{ HTML::style('css/media.css') }}
</head>
<body class="{{ $body_class or '' }}">
<div class="wrapper">
    @include('layouts.header')
    @yield('content')
    <div class="push"></div>
</div>
<div class="footer navbar-primary">
    <div class="row">
        <div class="col-xs-12">
            <footer>
                <p>&copy; Copyright @php echo date('Y'); @endphp Axminster Tools &amp; Machinery</p>
            </footer>
        </div>
    </div>
</div>
<script>
    window.website_url = '{{ URL::to('/') }}';
</script>
{{ HTML::script('assets/src/jquery/dist/jquery.min.js') }}
{{ HTML::script('assets/src/jquery-ui/jquery-ui.min.js') }}
{{ HTML::script('js/bootstrap.min.js') }}
{{ HTML::script('js/validate.js') }}

@if(isset($jsVars))
<script>
    @foreach($jsVars as $key => $val)
    var {{ $key }} = {{ $val }};
    @endforeach
</script>
@endif
<script>
    $(function() {
        $("#searchform").submit(function(e) {
            $("#searchform").attr("action", "/search/term/" + encodeURI($("#keywords").val()));
        });
    });
</script>
@if (!empty($scripts))
@foreach($scripts as $script)
{{ HTML::script($script . '.js') }}
@endforeach
@endif
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我最终找到了问题。

在进行新安装后,我测试了Auth并且它运行良好。一旦我复制了一些模板文件,我就发现问题再次发生。在查看模板布局文件后,我发现我正在使用它来注销链接

<a href="{{ Auth::logout() }}">Change password</a>

我在学习Laravel的前几天就做到了这一点,之前从来没有问题......不知道为什么。

我把它改成了这一切,这一切都按预期工作了

<a href="{{ url('/logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">Logout</a>
<form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
      {{ csrf_field() }}
</form>
相关问题