• 使用Geetest Laravel 5 集成开发包 一直提示 ‘正在加载验证码’,console提示'/auth/geetest not found' 错误解决方法。


     

    安装

    在项目地址输入命令

    $ composer require germey/geetest

    就可以完成该包的安装

    配置

    注册 ServiceProvider,在 config/app.php 的 providers 中添加

    GermeyGeetestGeetestServiceProvider::class,

    在 aliases 中添加

    'Geetest' => GermeyGeetestGeetest::class,

    然后执行

    $ php artisan vendor:publish

    会生成一个配置文件,config/geetest.php 和视图文件views/vendor/geetest

    视图文件中你可以自定义配置,比如修改一下验证失败后的alert函数,修改为你想要的提示toast等。

    使用

    首先把刚才拿到的 ID 和 KEY 配置到 .env 文件中,因为这两个算私密内容,配置到 .env 文件中可以保证安全性。在 .env 中写入如下两行。

    GEETEST_ID=0f1097bef7xxxxxx9afdeced970c63e4
    GEETEST_KEY=c070f0628xxxxxxe68e138b55c56fb3b

    其中 ID 和 KEY 换成你自己的。

    然后,在任意的视图里,我们只需要调用

    {!! Geetest::render() !!}

    就可以得到验证码了。

              -以上文档出自  http://laravelacademy.org/post/5291.html

      问题出现。。。

    页面只显示'正在加载验证码',

    控制台显示‘'The requested URL /auth/geetest was not found on this server.',

    后来发现,是版本更新了,文档没更新。

    于是

    把config/geetest.php中的

    'geetest_url' => '/auth/geetest',

    改为

    'geetest_url' => 'auth/geetest',

    创建提示Not Found的那条路由

    Route::get('auth/geetest', 'GetGeetestController@getGeetest');

    创建控制器

    php artisan make:controller GetGeetestController

    在新建控制器中use GeetestCaptcha即可正常使用验证码

    <?php
    
    namespace AppHttpControllers;
    
    use GermeyGeetestGeetestCaptcha;
    use IlluminateHttpRequest;
    
    class GetGeetestController extends Controller
    {
        //
        use GeetestCaptcha;
    }

    问题解决!

    总结:   使用默认路由  制造控制器  use  trait 调用自带方法

    路径是  vendor/germey/src/GeetestCaptcha.php

  • 相关阅读:
    MySQLFront导入SQL文件报#1113错误解决
    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2
    币胜网虚拟货币交易平台安装说明
    windows服务器详细安全设置
    WINDOWS SERVER 2008远程桌面端口修改方法
    mac终端ssh连接服务器 空闲的时候 连接断开
    FTP软件发送"AUTH TLS"提示 无法连接到服务器
    LNMP状态管理命令
    lnmp1.4环境FTP服务器的安装和使用
    springCloud
  • 原文地址:https://www.cnblogs.com/jialongfei/p/6650460.html
Copyright © 2020-2023  润新知