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

网站升级改造建设方案如何制作个人网站

网站升级改造建设方案,如何制作个人网站,人社部能力建设中心网站,门户网站的优缺点本文是go-zero开发入门-API网关开发示例一文的延伸,继续之前请先阅读此文。 在项目根目录下创建子目录 middleware,在此目录下创建文件 auth.go,内容如下: // 鉴权中间件 package middlewareimport ("context""e…

本文是go-zero开发入门-API网关开发示例一文的延伸,继续之前请先阅读此文。

在项目根目录下创建子目录 middleware,在此目录下创建文件 auth.go,内容如下:

// 鉴权中间件
package middlewareimport ("context""errors""net/http"
)var ErrInvalidToken = errors.New("invalid token")func AuthMiddleware(next http.HandlerFunc) http.HandlerFunc {return func(w http.ResponseWriter, r *http.Request) {token := r.Header.Get("Authorization")// 调用登录服务接口生成鉴权信息// 这里只是一个示例,实际需替换为实际的登录服务调用if token != "valid-token" {w.Write([]byte("invalid token"))return}// 将鉴权信息添加到请求上下文中ctx := context.WithValue(r.Context(), "token", token)next.ServeHTTP(w, r.WithContext(ctx))}
}

在网关 main.go 文件中加入鉴权中间件:

package mainimport ("flag""fmt""gateway/middleware""github.com/zeromicro/go-zero/core/conf""github.com/zeromicro/go-zero/gateway"
)var configFile = flag.String("f", "etc/gateway.yaml", "the config file")func main() {var c gateway.GatewayConfflag.Parse()conf.MustLoad(*configFile, &c)server := gateway.MustNewServer(c)server.Use(middleware.AuthMiddleware) // 使用 server 的 Use() 方法添加全局中间件defer server.Stop()fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)server.Start()
}

在网关的配置文件 etc/gateway.yaml 中加入鉴权:

Name: go-zero-gateway
Host: 0.0.0.0
Port: 9999
Upstreams:- Grpc:Etcd:Hosts:- 127.0.0.1:2379Key: add.rpcProtoSets:- /root/go-zero/gateway/proto/add.pbMappings: # Mappings can also be written in proto options- Method: getPath: /addRpcPath: add.Adder/addHeaders: - Authorization

编译生成网关可执行程序文件:

# cat Makefile 
all: gateway
gateway: main.gogo build -o gateway main.go clean:rm -f gatewayrpc:goctl gateway -dir gateway

启动网关:

./gateway

请求网关:

# curl -i '127.0.0.1:9999/add?a=1&b=2'
HTTP/1.1 200 OK
Traceparent: 00-1cd6f9f8c902193d8dd7da646f775d0d-4959382686bbb075-00
Date: Sun, 10 Dec 2023 12:04:40 GMT
Content-Length: 13
Content-Type: text/plain; charset=utf-8invalid token
http://www.hkea.cn/news/483672/

相关文章:

  • 服装公司网站设计百度站长收录入口
  • 做搜索关键词任务网站网站维护是什么意思
  • 2018什么做网站百度网盘网页版入口
  • 深圳福田大型商城网站建设石家庄最新疫情最新消息
  • 网站版面结构chatgpt 网站
  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草
  • 做网站客户拖着不验收店铺推广渠道有哪些方式
  • 站群系统哪个好用怎样进行seo推广
  • 淄博网站建设方案网络推广是做什么的
  • 网站建设销售工作职责seo平台怎么样
  • 免费的网站给一个百度seo优化服务项目
  • 现代广告创意设计郑州百度网站优化排名
  • 兰州网站建设哪家专业谷歌seo网站推广
  • 崇信门户网站留言回复上优化seo
  • 网站建设费用有哪些站长工具搜索
  • 云主机能干什么独立站seo怎么做
  • 苏州专业网站建设设计公司免费发布推广信息的b2b
  • 空间 两个网站网络推广培训班
  • 零基础学做网站推广公司简介
  • 公司做网站最好引擎搜索器
  • 济南手工网站建设北京百度seo服务
  • 网站建设原创百度seo官网
  • 徐州企业网站建设衡阳seo服务
  • 网站自然排名优化seo专员是什么职业
  • 视频网站制作广告代理公司
  • wordpress主题域名授权密钥生成镇海seo关键词优化费用
  • 北京东直门+网站建设汕头seo外包平台