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

网站建设pc指什么网站推广服务费计入什么科目

网站建设pc指什么,网站推广服务费计入什么科目,网站外链推广工具,电子商务网站中的信息技术阿里巴巴前面我们分享了 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.hkea.cn/news/14554899/

相关文章:

  • 企业网站搭建价格淄博网站制作服务推广
  • 网站导航为什么用ul列表做成都住建局官网怎么查询楼盘剩余房
  • 网站的源代码有什么用做网站用phpcms还是
  • php除了写网站吗免费网站后台模板
  • 广西网站简洁网站模板
  • 网上接单做效果图哪个网站好个人备案能做什么网站
  • 浩森宇特北京做网站网络营销就业前景怎么样
  • 大型集团公司网站建设方案上海产品网站建设
  • 网站做qq发送链接手机网站模板网
  • 网站自助建设平台深圳网站建设服务
  • 经销商自己做网站合适吗产品包装设计与制作
  • 深圳网站建设制作网络公司网页制作题怎么编辑
  • 专业瓷砖美缝网站怎么做长沙本地推广平台
  • 门户网网站建设功能需求表开网店流程
  • 中国上海网站首页网站黑链检测
  • 建站公司哪家做出来的网站好嘉兴网站建设与管理专业
  • 网站建设 推广信息二级域名注册免费
  • 支付网站开发怎么做账直播视频下载
  • qq空间认证的网站后台根目录合肥网站建设网页设计
  • 怎么做自己的优惠价网站专门做防盗门的网站
  • 大学生个人网站作品wordpress 简书模板
  • 大良营销网站建设行情外贸网站建设内容包括哪些
  • 电商设计师常用的网站我要自学网官网
  • 做网站公司人员电子商务网站策划
  • 便宜自适应网站建设厂家公司网站建设费用多少
  • wordpress网站多语言有什么比wordpress好的
  • 网页制作与网站建设技术大全 pdf正确的网址格式
  • 上海工程建设造价信息网站省运会官方网站建设
  • html语言大型网站开发杭州网站设计工作室
  • 网站控制台wordpress 取消赞