当前位置: 首页 > article >正文

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>

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


http://www.kler.cn/a/108392.html

相关文章:

  • html数据类型
  • 论文精读(笔记)
  • 容器技术在持续集成与持续交付中的应用
  • 力扣-Mysql-3308- 寻找表现最佳的司机(中等)
  • 项目技术栈-解决方案-web3去中心化
  • 操作系统lab4-页面置换算法的模拟
  • Java中级面试题记录(四)
  • ThinkPad电脑HDMI接口失灵如何解决?
  • 工具箱:【1】简单的自动部署
  • 安全和便捷:如何将运营商二要素API应用于实名制管理中
  • 网络安全—小白自学
  • 数据结构和算法(15):排序
  • 【QT】对象树
  • 14. 机器学习 - KNN 贝叶斯
  • React-快速搭建开发环境
  • openpnp - 汇川伺服和冰沙主板的连接
  • 2023辽宁省赛E
  • MySQL篇---第六篇
  • 最新FL Studio 21.2中文版即将发布,2024年会有哪些新功能呢?
  • css overflow-x: scroll 滚动不展示/隐藏滚动条 /如何滚动
  • Lauterbach使用指南之RunTime功能
  • ROS自学笔记十七:Arbotix
  • 视频特效制作软件 After Effects 2023 mac中文版介绍说明
  • 基础课13——数据异常处理
  • 【STM32】GPIO控制LED(HAL库版)
  • QT5.15在Ubuntu22.04上编译流程