繁体   English   中英

Laravel 5.2-登录和用户会话

[英]Laravel 5.2 - login and user session

这似乎是要解决的非常非常基本的问题,但我一直无法解决。 我上次使用laravel就像8个月前一样,此基本的“登录-身份验证”功能目前无法正常使用。

我正在使用laravel 5.2,这是我的登录信息:

路线:

Route::post('login', [
    'as' => 'post_login',
    'uses' => 'Auth\AuthController@login'
]);

验证\\ AuthController.php:

public function login(Request $request)
{
    if(Auth::attempt([
        'email' => $request->get('email'), 
        'password' => $request->get('password'), 
        'active' => 1
        ])) 
    {

        $user = Auth::user();

        var_dump($user);

    }
    else 
    {
        return 'Could not log in';
    }
}

当我以注册用户身份登录时,它可以正确显示该用户,现在一切都变得非常完美。

但是,问题在于,在主菜单中我看不到用户名,而不是“登录”-“注册”按钮。 即使单击这些按钮之一,也不会发生任何事情,视图也不会改变并且什么也不做。

我的主菜单标记:

    <nav class="navbar navbar-default">
        <div class="container">
            <div class="navbar-header">

                <!-- Collapsed Hamburger -->
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
                    <span class="sr-only">Toggle Navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

                <!-- Branding Image -->
                <a class="navbar-brand" href="{{ url('/') }}">
                    Fotopredio
                </a>
            </div>

            <div class="collapse navbar-collapse" id="app-navbar-collapse">
                <!-- Left Side Of Navbar -->
                <ul class="nav navbar-nav">
                    <li><a href="{{ url('/home') }}">Home</a></li>
                </ul>

                <!-- Right Side Of Navbar -->
                <ul class="nav navbar-nav navbar-right">
                    <!-- Authentication Links -->
                    @if (Auth::guest())
                        <li><a href="{{ route('login') }}">Login</a></li>
                        <li><a href="{{ route('registration') }}">Registro</a></li>
                    @else
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                                {{ Auth::user()->email }} <span class="caret"></span>
                            </a>

                            <ul class="dropdown-menu" role="menu">
                                <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
                            </ul>
                        </li>
                    @endif
                </ul>
            </div>
        </div>
    </nav>

您可以看到@if(Auth :: guest())...它不起作用,即使在我登录时,我也可以看到“登录”和“注册”按钮,当我单击它们时什么也没有发生。 我什至无法注销。

编辑

我的“欢迎”页面中有此标记,用户登录后应看到该页面。

@extends('layouts.app')
@section('title', 'Home')
@section('body')

<?php
if (Auth::check()) {
    echo "Loged In";
} else {
    echo "not loged in";
}
?>
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading">Welcome</div>

                <div class="panel-body">
                    Your Application's Landing Page.
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

甚至在我登录后,它NOT LOGED IN显示NOT LOGED IN

您的Welcome路线也需要在您的Web 中间件中 laravel 5.2的更改意味着仅在该Web 中间件中调用/运行会话。

因此,如果Welcome不在Web 中间件中 ,则您将无法登录。(Matt 在此处提供了有关此更改的好链接)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM