laravel 5.5 登录验证码 captcha 引入

laravel 5.5 登录验证码 captcha 引入

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

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

1、安装 Captcha

安装 Captcha+

$ composer require mews/captcha

配置

/config/app.php
'providers' => [
    // ...
    Mews\Captcha\CaptchaServiceProvider::class,
]
'aliases' => [
    // ...
    'Captcha' => Mews\Captcha\Facades\Captcha::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" οnclick="this.src='{
    {captcha_src()}}'+Math.random()">
          </div>
      </div>
  </div>

 

 

重写AuthController 登录验证方法,并自定义提示信息:
修改 App\Http\Controllers\Auth\LoginController

首先要引入如下代码:
use Illuminate\Http\Request;

重写validateLogin方法:

在验证里面加入验证码的规则验证即可
/**
 * DESC: 重写 AuthenticatesUsers 登录验证方法,并自定义提示信息;
 * 原验证方法 Illuminate\Foundation\Auth\AuthenticatesUsers
 * @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' => '验证码错误',
    ]);
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113015.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 关于scrollHeight

    关于scrollHeightscrollHeight:这个属性就比较麻烦了,因为它们在火狐跟IE下简直差太多了..在火狐下还很好理解,它其实就是滚动条可滚动的部分还要加上boder的高度还要加上横向滚动条不可用的高度scrollHeight=滚动条可滚动的部分+border的高度+横向滚动条不可用的高度;在IE中scrollHeight确是指这个对象它所包含的对象的高度加上boder的高度和marging,如…

  • pycharm上传文件到服务器_python代码部署到服务器

    pycharm上传文件到服务器_python代码部署到服务器文章目录1.1.

  • 解析offsetHeight,clientHeight,scrollHeight之间的区别「建议收藏」

    解析offsetHeight,clientHeight,scrollHeight之间的区别「建议收藏」在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论。以下结论皆是在标准模式下测试通过的,没有测试quirk模式。clientHeight大部分浏览器对clientHeight都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内。但要注意padding是算在内。其计算方式为clien…

  • phpstorm 激活码生成【最新永久激活】2022.02.28

    (phpstorm 激活码生成)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 阿里云动态域名_阿里动态域名解析

    阿里云动态域名_阿里动态域名解析前言该脚本的代码大部分是参考自阿里云的官方帮助文档。1,脚本语言使用的是python,我个人只是了解python,没有太深入的知识功底2,脚本代码我会尽量详细地添加注释说明,有问题欢迎留言

  • uniqueidentifier类型_unique和normal

    uniqueidentifier类型_unique和normal@uuidasnvarchar(max))+””转载于:https://my.oschina.net/xuyuchends/blog/852105

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号