zoukankan      html  css  js  c++  java
  • laravel 5.5 登录验证码 captcha 引入

    https://blog.csdn.net/u013372487/article/details/79461730

    前提: 开启Laravel 的用户认证功能

    1、安装 Captcha

    安装 Captcha+
    
    $ composer require mews/captcha
    
    配置
    
    /config/app.php
    'providers' => [
        // ...
        MewsCaptchaCaptchaServiceProvider::class,
    ]
    'aliases' => [
        // ...
        'Captcha' => MewsCaptchaFacadesCaptcha::class,
    ]
    
    自定义配置
    $ php artisan vendor:publish
    
    运行之后,就可以在 config/captcha.php 中进行配置了。这里使用默认配置。
    

    2、使用 Captcha 为 auth 组件添加验证码功能

    在登录视图中增加验证码的选项,可以加到密码和 remember me 之间

    /resources/views/auth/login.blade.php
    <div class="form-group">
      <label for="captcha" class="col-md-4 control-label">验证码</label>
          <div class="form-group">
              <div class="col-md-3">
                  <input id="captcha"  class="form-control" type="captcha" name="captcha" value="{{ old('captcha')  }}" required>
                  @if($errors->has('captcha'))
                      <div class="col-md-12">
                          <p class="text-danger text-left"><strong>{{$errors->first('captcha')}}</strong></p>
                      </div>
                  @endif
              </div>
              <div class="col-md-4">
                  <img src="{{captcha_src()}}" style="cursor: pointer" onclick="this.src='{{captcha_src()}}'+Math.random()">
              </div>
          </div>
      </div>
    

    重写AuthController 登录验证方法,并自定义提示信息:
    修改 AppHttpControllersAuthLoginController

    首先要引入如下代码:
    use IlluminateHttpRequest;
    
    重写validateLogin方法:
    
    在验证里面加入验证码的规则验证即可
    /**
     * DESC: 重写 AuthenticatesUsers 登录验证方法,并自定义提示信息;
     * 原验证方法 IlluminateFoundationAuthAuthenticatesUsers
     * @param Request $request
     */
    protected function validateLogin(Request $request){
        $this->validate($request, [
            $this->username() => 'required|string',
            'password' => 'required|string',
            'captcha' => 'required|captcha',
        ],[
            'captcha.required' => '请填写验证码',
            'captcha.captcha' => '验证码错误',
        ]);
    }
    
  • 相关阅读:
    CommonJS, AMD 和 RequireJS之间的关系(转载)
    ansible 变量详解
    python3 进行字符串、日期、时间、时间戳相关转换
    Openresty 进行限流的方法
    Openresty 进行路由系统设计
    elasticsearch的监控脚本
    Python模块安装
    Openresty 操作Cookie
    Openresty 源码安装脚本
    Linux 下使用umount强行卸载设备
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9475820.html
Copyright © 2011-2022 走看看