关于php:Laravel 5.2-登录和用户会话

Laravel 5.2 - login and user session

这似乎是一个非常非常基本的问题,但我无法解决。我上次使用laravel就像8个月前一样,此基本的登录-身份验证功能有些东西现在无法正常工作。

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

路线:

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

Auth \\\\ AuthController.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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';
    }
}

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

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

我的主菜单标记:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
    <nav class="navbar navbar-default">
       
           

                <!-- 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 -->
               
                    Fotopredio
               
           

           
                <!-- Left Side Of Navbar -->
                <ul class="nav navbar-nav">
                   
<li>
Home
</li>

               
</ul>


                <!-- Right Side Of Navbar -->
                <ul class="nav navbar-nav navbar-right">
                    <!-- Authentication Links -->
                    @if (Auth::guest())
                       
<li>
Login
</li>

                       
<li>
Registro
</li>

                    @else
                        <li class="dropdown">
                           
                                {{ Auth::user()->email }} <span class="caret"></span>
                           

                            <ul class="dropdown-menu" role="menu">
                               
<li>
<i class="fa fa-btn fa-sign-out">Logout
</li>

                           
</ul>

                       
</li>

                    @endif
               
</ul>

           
       
    </nav>

您会看到@if(Auth :: guest())...不能正常工作,即使我登录时也可以看到"登录"和"注册"按钮,单击它们时什么也没有发生。我什至无法注销。

EDIT

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@extends('layouts.app')
@section('title', 'Home')
@section('body')

<?php
if (Auth::check()) {
    echo"Loged In";
} else {
    echo"not loged in";
}
?>

   
       
           
                Welcome

               
                    Your Application's Landing Page.
               
           
       
   

@endsection

即使登录后,它也会显示NOT LOGED IN


您的Welcome路由也必须位于您的Web中间件中。对laravel 5.2的更改意味着仅在该Web中间件内调用/运行会话。

因此,如果Welcome不在Web中间件中,则您将无法登录。