ThinkPHP6 多应用模式之验证码模块的配置与验证

Thinphp6 官方的验证码模块的配置是有问题的,或者说需要手工配置。

在配置期间,我尝试了多种(包括按照官方文档、路由等)方法都验证失败。

存在2个问题:
1、多应用模式下,验证码的配置文件依然读取全局的配置;
2、多应用模式下,无法完成验证码的验证(captcha_check($captcha))。

解决办法(假设多应用名称为admin):

1、安装过程略;

2、开启本应用的Session(默认是关闭的)

文件:app/admin/middleware.php

<?php
// 全局中间件定义文件
return [
    // 全局请求缓存
//     \think\middleware\CheckRequestCache::class,
    // 多语言加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
];

3、新建控制器Captcha
文件:app/admin/controller/Captcha.php

<?php
/**
 * End file Captcha.php
 */

namespace app\admin\controller;

use app\BaseController;
use think\captcha\facade\Captcha as captchaMain;

class Captcha extends BaseController
{
    public function verify()
    {
        return captchaMain::create('admin');
    }
}

4、复制配置文件到本应用根目录
文件:app/admin/config/captcha.php
原文件:app/config/captcha.php

5、模板文件使用

<div class="captcha">
   <img src="/admin/captcha" alt="captcha"  onclick="this.src='/admin/captcha?'+Math.random();" />
</div>

注意:刷新验证码的地址也改过来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值