首页 > 解决方案 > 没有凭据检查登录重定向主页

问题描述

控制器代码

public function login(){  
  if(Auth::attempt([
         'email' => request('email'), 
         'password' => request('password')])){     
    $user = Auth::user();     
    $success['token'] =  $user->createToken('AppName')->accessToken; 
    return response()->json(['success' => $success], $this-> successStatus);    
  } else{     
    return response()->json(['error'=>'Unauthorised'], 401);     
  }  
}

当我登录时,它错误地重定向主页,没有检查任何database注册,你输入错误emailpassword仍然重定向主页....所以我想完善工作,代码中的错误是什么

第二个问题我在这一行设置了图像标志,但它不显示图像

<img src="{{ asset('img/Image.jpg') }}">

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <!------ Include the above in your HEAD tag ---------->
    <style type="text/css">
        body {
      margin: 0;
      padding: 0;
      background-image: url("img/back.jpg");
      background-repeat: no-repeat;
      height: 500px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative;

    }
    #login .container #login-row #login-column #login-box {
      margin-top: 150px;
      max-width: 600px;
      height: 320px;
      border: 2px  #9C9C9C;
      border-radius: 15px;
      background-color: white;
    }
    #login .container #login-row #login-column #login-box #login-form {
      padding: 20px;
    }
    #login .container #login-row #login-column #login-box #login-form #register-link {
      margin-top: -85px;
    }
    .btn {
      margin:auto;
      display:block;
      padding: 2% 10%;
    }
    </style>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">

        </head>

    <body>
        <div id="login">
            <div class="container">
                <div id="login-row" class="row justify-content-center align-items-center">


                    <div id="login-column" class="col-md-6">
                        <div id="login-box" class="col-md-12">
                            <form id="login-form" class="form" method="POST" action="{{ route('login') }}">
                                @csrf
                                <h3 class=""><img src="{{ asset('img/Image.jpg') }}">Login</h3>
                                <div class="form-group">
                                    <label for="username" class="font-weight-bold">Email:</label><br>
                                    <input type="text" id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" placeholder="enter email" autofocus>
                                    @error('email')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                                <div class="form-group">
                                <label for="password" class="font-weight-bold">{{ __('Password') }}</label>
                                    <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password" placeholder="enter password">

                                    @error('password')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror

                            </div>
                                <div class="form-group">
                                    <button type="submit" name="submit" class="btn btn-default font-weight-bold" value="SIGN IN">{{ __('SIGN IN') }}</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </body>
    </html>

<!-- end snippet -->

标签: laravellaravel-5

解决方案


听起来您已经通过身份验证,并且您已将guest中间件分配给指向此login方法的路由。

您还应该将相同的中间件分配给显示登录表单的路由,这样如果您已经通过身份验证,您就无法访问该表单。

默认情况下,中间件 重定向已通过身份guest验证App\Http\Middleware\RedirectIfAuthenticated的用户。/home


推荐阅读