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

公司内部网站wordpress ftp安装

公司内部网站,wordpress ftp安装,wordpress.html插件,聊城九洲建设有限公司网站前面我们分享了 go-zero 的快速实战以及日志组件的剖析#xff0c;本次我们来实战使用 go-zero jwt 鉴权 本次文章主要是分享关于 go-zero 中 jwt 的使用方式#xff0c;会以一个 demo 的方式来进行实战#xff0c;对于使用 goctl 工具以及安装细节就不在赘述#xff0c;有…前面我们分享了 go-zero 的快速实战以及日志组件的剖析本次我们来实战使用 go-zero jwt 鉴权 本次文章主要是分享关于 go-zero 中 jwt 的使用方式会以一个 demo 的方式来进行实战对于使用 goctl 工具以及安装细节就不在赘述有需要的话可以查看 官网 本次文章主要分为如下几个部分 Jwt 的简单介绍 Go-zero 中使用 jwt 实战 Jwt 的简单介绍 关于 jwt 鉴权的细节和原理感兴趣的朋友可以查看历史文章JWT身份认证(附带源码讲解) | GO主题月 那么我们如何识别什么时候需要使用 jwt 呢 用于授权 例如某个系统通过例如账号密码登录之后后台会生成一个 jwt这个用户在这个系统之后的任何操作都会去校验这个 jwt就不需要用户操作系统内其他模块的时候还去进行一次登录 当然这是需要我们做好设定这个 jwt 针对哪一些路由可以使用从而允许用户访问该令牌允许的路由服务和资源 用于信息交换 因为 jwt 可以与各方进行安全的传输内部使用了签名算法公钥加密私钥解密而且 jwt 的数据各种中有标头有效载荷以及其他的签发时间过期时间颁发人等等可以用来校验信息是否被篡改了 Go-zero 中使用 jwt 实战 话不多说咱们就来开始实战吧先来给自己提一个需求 需求 同学们平时去图书馆都是需要登录自己的账号才可以进入系统查询书籍余量的 那么我们就来实现一下用账号密码登录图书系统并生成一个 jwt后续该用户进行书籍查询的时候就可以直接使用 jwt 来进行鉴权 分析 那么根据上述需求显然咱们会使用到数据库本次这里咱们仍然使用 mysql 进行演示并且会涉及到用户表和图书表 我们可以现在创建一下这两张表 user table user.sql CREATE TABLE user (stu_id varchar(255) NOT NULL COMMENT stu_id,name varchar(255) NOT NULL COMMENT name,password varchar(255) NOT NULL COMMENT password,gender varchar(255) NOT NULL COMMENT gender,PRIMARY KEY(stu_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;stu_id学号name姓名password密码gender性别 book table book.sql CREATE TABLE book (book_id varchar(255) NOT NULL COMMENT stu_id,name varchar(255) NOT NULL COMMENT name,count INTEGER (255) NOT NULL COMMENT password,PRIMARY KEY(book_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;book_id图书 idname图书名称count图书剩余数量 咱们可以向表中插入一些 demo 数据便于后续使用 insert into book(book_id,name,count)values(000001,kubernetes in action,99); insert into book(book_id,name,count)values(000002,effective go,88); insert into book(book_id,name,count)values(000003,穷爸爸富爸爸,21);insert into user(stu_id,name,password,gender)values(13141549, 小胖, Aa123123, 男); insert into user(stu_id,name,password,gender)values(15161766, 阿强, 6r*,oo, 男); insert into user(stu_id,name,password,gender)values(1325590, marry, 123456, 女);开始实战 go-zero 的 jwt 先来看看基本的代码目录 新建代码目录并编写 book 和 user 的 api 新建目录 mkdir my_test_demo/my_book_sys/book/api -p mkdir my_test_demo/my_book_sys/book/model -p mkdir my_test_demo/my_book_sys/user/api -p mkdir my_test_demo/my_book_sys/user/rpc -p mkdir my_test_demo/my_book_sys/user/model -p cd my_test_demo go mod init my_test_demo go mod tidy编写 api 文件 并生成 go 代码 book.api 定义 book api GET /search/do 查询书籍接口使用 jwt: Auth 进行标识 通过请求书名鉴权完毕之后响应响应书名对应的剩余数量 user.api 定义 user api 定义 POST /user/login 接口 通过账号密码请求接口内部校验完毕之后返回 jwt token \ 使用工具将上述 api 生成 go 对应的代码 cd my_test_demo/my_book_sys/book/api vim book.api goctl api go -api book.api -dir .cd my_test_demo/my_book_sys/user/api vim user.api goctl api go -api user.api -dir .编写数据库的 sql 语句使用 goctl 生成 go 代码 直接将上述的 ****book.sql 拷贝到 my_test_demo/my_book_sys/book/model 下 将 user.sql 拷贝到 ****my_test_demo/my_book_sys/user/model 下 生成数据库相关的 go 代码文件 cd my_test_demo/my_book_sys/book/model goctl model mysql ddl -src book.sql -dir .cd my_test_demo/my_book_sys/user/model goctl model mysql ddl -src user.sql -dir .这个时候咱们就已经完成了大部分的准备工作接下来我们来查看一下代码目录 添加数据库配置和 jwt 相关配置 User 部分 修改 my_test_demo/my_book_sys/user/api/etc/user-api.yaml 加上数据库配置和 Auth 配置 DataSource 数据库配置 Auth jwt 配置 AccessSecret jwt 需要的密钥AccessExpire 过期时间单位 秒 修改 my_test_demo/my_book_sys/user/api/internal/config/config.go 增加配置对应的数据结构 补充 svc 层的数据结构修改 my_test_demo/my_book_sys/user/api/internal/svc/servicecontext.go 以及补充 NewServiceContext 的实现 补充咱们的核心逻辑层的代码my_test_demo/my_book_sys/user/api/internal/logic/loginlogic.go大体逻辑如下 校验入参去掉输入的用户名和密码的前后空格 查询数据库进行数据校验此处我们手动在 my_test_demo/my_book_sys/user/model/usermodel_gen.go 文件中添加了数据库操作的 FindOneByName 方法 校验通过之后生成 jwt token 进行响应 此处的 model 方法可以加在 my_test_demo/my_book_sys/user/model/usermodel_gen.go Book 部分 修改 my_test_demo/my_book_sys/book/api/etc/book-api.yaml 加上数据库配置和 Auth 配置 其中 AccessSecret 和 AccessExpire 的字段名和值保持和上述 user 路径下的内容一致 Name: search-api Host: 0.0.0.0 Port: 9001 DataSource: root:123456tcp(localhost:3306)/test_demo Auth:AccessSecret: secretoooppppooooAccessExpire: 3600同理添加配置对应的数据结构修改 my_test_demo/my_book_sys/book/api/internal/config/config.go type Config struct {rest.RestConfDataSource stringAuth struct {AccessSecret stringAccessExpire int64} }补充 svc 层的数据结构修改 my_test_demo/my_book_sys/book/api/internal/svc/servicecontext.go 以及补充 NewServiceContext 的实现 补充咱们的核心逻辑层的代码my_test_demo/my_book_sys/book/api/internal/logic/searchlogic.go大体逻辑如下 通过书名查询数据库 返回具体书名的剩余数量 上述代码中 l.svcCtx.BookHttpModel.FindOneByName 是我们自定义修改了 model 下的文件内容新增 FindOneByName 方法 修改 my_test_demo/my_book_sys/book/model/bookmodel_gen.go 验收成果 咱们分别进入到项目对应的 api 路径下启动服务 终端1 cd my_test_demo/my_book_sys/book/api go run search.go终端2 cd my_test_demo/my_book_sys/user/api go run user.go终端3 咱们先来请求 book 的 api在没有登录系统的情况下来查询书籍看看是什么样的效果 curl -i -X GET \http://localhost:9001/search/do?nameeffective%20go很明显服务给我们返回了一个未授权说明咱们的鉴权机制此处是有效果的那么接下来登录一个用户 // post 用户登录curl -i -X POST http://localhost:9002/user/login -H Content-Type: application/json -d {username:小胖,password:Aa123123 }可以看到是登录成功了且服务端给我们返回了对应的 jwt token接下来咱们执行第一步请求查询一下数据的数量 // get 书籍 curl -i -X GET \http://localhost:9001/search/do?nameeffective%20go -H Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjA5NzMwNDEsImlhdCI6MTY2MDk2OTQ0MSwic3R1SWQiOiIxMzE0MTU0OSJ9.Jae_5GPr-xuB2mfqospfisV93ReUnGTZJ87WsIQ-bhE很明显此处的鉴权机制 ok鉴权完毕之后正确查询数据库查询到我们期望的书籍剩余数量 兄弟们动起手来吧先来应用 go-zero 的 jwt 再去看 go-zero 的实际源码细节很快就能明白 具体的源码地址可以查看https://github.com/qingconglaixueit/my_test_Demo 至此本篇内容结束 感谢阅读欢迎交流点个赞关注一波 再走吧 欢迎点赞关注收藏 朋友们你的支持和鼓励是我坚持分享提高质量的动力 好了本次就到这里 技术是开放的我们的心态更应是开放的。拥抱变化向阳而生努力向前行。 我是阿兵云原生欢迎点赞关注收藏下次见~ \ \ // get 书籍 curl -i -X GET \http://localhost:9001/search/do?nameeffective%20go -H Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjA5NzMwNDEsImlhdCI6MTY2MDk2OTQ0MSwic3R1SWQiOiIxMzE0MTU0OSJ9.Jae_5GPr-xuB2mfqospfisV93ReUnGTZJ87WsIQ-bhE// post 用户登录curl -i -X POST http://localhost:9002/user/login -H Content-Type: application/json -d {username:小胖,password:Aa123123 }可以进入地址进行体验和学习https://xxetb.xet.tech/s/3lucCI
http://www.w-s-a.com/news/312897/

相关文章:

  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板
  • 岫岩做网站软件开发和app开发的区别
  • 邯郸质量一站式服务平台上线如何做国外销售网站
  • 内蒙古工程建设协会网站sem优化策略
  • Linux网站建设总结建设电子商务平台
  • 公司网站背景图片课程网站如何建设
  • 用js做简单的网站页面互联网技术对人力资源管理的影响有哪些
  • 银川做网站贵德县wap网站建设公司
  • 深圳网站建设zvge山西省煤炭基本建设局网站
  • 佛山网页网站设计线上怎么做推广和宣传
  • 多个域名绑定同一个网站案例
  • 建设网站都需要准备什么代理加盟微信网站建设
  • 网站备案没有了wordpress 添加按钮
  • 湖南建设银行宣传部网站福田蒙派克空调滤芯安装位置图
  • wap网站搜索wordpress工作室模板
  • 青岛金融网站建设如何提交网站地图
  • 制作简单门户网站步骤网站建设论文的摘要
  • 可以直接进入网站的正能量照片学做静态网站
  • 织梦做社交网站合适吗网站的市场如何制作
  • 阳曲网站建设价格多少四川佳和建设工程网站
  • 免费注册店铺位置sem seo什么意思
  • 建筑网站搜图电子商务网站建设渠道
  • 学校网站内容四川手机网站开发
  • 网站制作公司违法商业网站运营成本
  • 显示佣金的网站是怎么做的广告设计主要做哪些