除了角色与菜单外,Base控制器就剩优化及测试咯。Base控制器的重要就不用我多说,看下图就能明白。
一、thinkphp6总结
1、运行环境
要求PHP>=7.2.5,兼容PHP8.0。
2、安装
采用composer安装主文件及相关依赖或是叫拓展。
composer install --ignore-platform-reqs
composer upload --ignore-platform-reqs
composer remove 具体的某个composer依赖
目前使用到的拓展:
composer require topthink/think-captcha #验证码拓展
composer require predis/predis #Redis拓展
二、应用架构总结
1、应用架构文字说明
本应用框架主要采用的是RSA动态加密手段控制登录后的半token,由前端拼接后采用RSA加密手段放入到header头文件里面,每次请求都需要更新header头文件里面的Authorization参数加密后的值。后端通过OpenSSL技术中的RSA进行解密。解密前需要验证Authorization参数的合理性,其次验证是否登录,如果没有登录的情况下,则是直接返回;如果登录的情况下,还会验证本次的Authorization参数值是否与上一次的参数值是否相同,如果相同,则加入黑名单,并且延长token的过期时长。如果Authorization参数值与上一次的参数值不相同则覆盖前一次的加密值,并设置过期时间。
本应用采用的3套组合联用才能正常让用户操作系统。token其实主要的目的是授权访问吧,个人信息需要独立去获取,个人权限也是需要独立去获取的吧。换句话说,只要token的加密文件保护好,本系统就非常安全。
本应用的2层返回码很重要,必须要理解:第一个就是http状态嘛,非200都是错误返回,只修改了一种状态嘛,那就是401,代表加入黑名单咯。剩下就是thinkphp6返回的状态码,也就是程序自身返回的状态码。但是必须要明白,一旦到应用层返回时,所有的http状态码都是200。程序状态码:50034代表的是没有登录,需要登录;50000代表的是正常错误返回;20000代表的是成功的返回。
2、流程图说明
三、总结
需要修改的缺点就是在token数据层的token验证最好是放到Base总控制里面,毕竟MVC的理论就是及操作应该是这样。