dpps0715 2019-07-14 00:37
浏览 189
已采纳

尝试使用laravel中的自定义字段“user_id”进行登录

I am trying to login with a custom field called "user_id" but it is not working. I am getting page expired error. Please help.

Login page

<form role="form" action=" {{route('user.login')}}" method="POST">
                <div class="form-group mb-3">
                  <div class="input-group input-group-alternative">
                    <div class="input-group-prepend">
                      <span class="input-group-text"><i class="ni ni-email-83"></i></span>
                    </div>
                    <input class="form-control" placeholder="User Id" name="user_id" type="text">
                  </div>
                </div>
                <div class="form-group">
                  <div class="input-group input-group-alternative">
                    <div class="input-group-prepend">
                      <span class="input-group-text"><i class="ni ni-lock-circle-open"></i></span>
                    </div>
                    <input class="form-control" placeholder="Password" name="password" type="password">
                  </div>
                </div>
                <div class="text-center">
                  <button type="submit" class="btn btn-primary my-4">Log in</button>
                </div>
              </form>

My database fields id user_id user_name password type role remember_token created_at updated_at

by the way my remember_token id null always i don't know why.

changed in Illuminate\Foundation\Auth\AuthenticatesUsers

public function username()
    {
        return 'user_id';
    }

web.php

Route::get('/login', 'UserController@login_form')->name('user.loin_form');
Route::post('/login', 'Auth\LoginController@login')->name('user.login');

what did i missed

  • 写回答

1条回答 默认 最新

  • doupao2277 2019-07-14 01:36
    关注

    Just add the csrf token to your form and it will work.

    You can add the @csrf blade directive or manually create your csrf input, like this one:

    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    

    Using the blade directive:

    <form role="form" action=" {{route('user.login')}}" method="POST">
        @csrf
        <div class="form-group mb-3">
            <div class="input-group input-group-alternative">
                <div class="input-group-prepend">
                    <span class="input-group-text"><i class="ni ni-email-83"></i></span>
                </div>
                <input class="form-control" placeholder="User Id" name="user_id" type="text">
            </div>
        </div>
        <div class="form-group">
            <div class="input-group input-group-alternative">
                <div class="input-group-prepend">
                    <span class="input-group-text"><i class="ni ni-lock-circle-open"></i></span>
                </div>
                <input class="form-control" placeholder="Password" name="password" type="password">
            </div>
        </div>
    <div class="text-center">
        <button type="submit" class="btn btn-primary my-4">Log in</button>
    </div>
    </form>
    

    Hope it helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog