实例如下:

package mainimport ("github.com/emicklei/go-restful""log""net/http""os"
)func main() {wsContainer := restful.NewContainer()wsContainer.Router(restful.CurlyRouter{})ws := new(restful.WebService)ws.Path("/api").Consumes(restful.MIME_JSON).Produces(restful.MIME_JSON) // 可单独设置每一个方法//    最终地址 https://127.0.0.1:7443/api/configws.Route(ws.POST("/config").Filter(basicAuthenticate).To(config))ws.Filter(basicAuthenticate)//basic auth filterwsContainer.Add(ws)log.Printf("start listening on localhost:7443")server := &http.Server{Addr: ":7443", Handler: wsContainer}//证书生成方式参考https://blog.csdn.net/u011411069/article/details/79994716crtPath := "/home/leen/Desktop/certificate.crt"//crt 证书_, err := os.Stat(crtPath)if err != nil {log.Println("crt file not exist!")return}keyPath := "/home/leen/Desktop/certificate.key"//key 证书_, err = os.Stat(crtPath)if err != nil {log.Println("key file not exist!")return}err = server.ListenAndServeTLS(crtPath, keyPath)if err != nil {log.Println(err.Error())}
}//basic auth 验证过滤
func basicAuthenticate(req *restful.Request, resp *restful.Response, chain *restful.FilterChain) {// usr/pwd = admin/adminu, p, ok := req.Request.BasicAuth()if !ok || u != "admin" || p != "admin" {resp.AddHeader("WWW-Authenticate", "Basic realm=Protected Area")resp.WriteErrorString(401, "401: Not Authorized")return}chain.ProcessFilter(req, resp)
}//rest请求处理方法
func config(request *restful.Request, response *restful.Response) {entity := new(model.TestEntity)err := request.ReadEntity(entity)if err != nil {response.WriteEntity(model.NewResult(500, err.Error()))} else {response.WriteEntity(model.NewResult(0, "config successful!"))}
}

golang 库 go-restful 中 https basic authentication 基础认证实例相关推荐

  1. authentication java_HTTP基本认证(Basic Authentication)的JAVA实例代码

    大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证. 下面来看看一看这个认证的工作过程: 第一步:客户端发送h ...

  2. HTTP基础认证Basic Authentication

    HTTP基础认证Basic Authentication Basic Authentication是一种HTTP访问控制方式,用于限制对网站资源的访问.这种方式不需要Cookie和Session,只需 ...

  3. SpringSecurity中文文档—Authentication— Reading Username/Password

    文章目录 Form Login Basic Authentication Digest Authentication Password Storage In-Memory Authentication ...

  4. Web services 安全实践: 基于 HTTP Basic Authentication 为 Web services 配置传输层安全机制...

    转载:http://www.ibm.com/developerworks/cn/webservices/1106_webservicessecurity/ 简介 正如"HTTP Basic ...

  5. HTTP Basic Authentication验证WCF Data Service

    WCF Data Service是OData协议,也是RESTFul Service的一种,上篇文章已经介绍了HTTP Basic Authentication for RESTFul Service ...

  6. Web应用中基于密码的身份认证机制(表单认证、HTTP认证: Basic、Digest、Mutual)

    Web应用中基于密码的身份认证机制 背景概念 认证(Authentication) 会话管理 1 表单认证(Form-Based Authentication) 1.1 介绍 1.2 流程 2 通用的 ...

  7. Golang 库: 为什么 Golang slog 库不支持 `slog.Fatal` API

    Golang 库: 为什么 Golang slog 库不支持 slog.Fatal API 原文链接: https://tangx.in/posts/2023/01/06/why-dont-golan ...

  8. Golang 从 Json 串中快速取出需要的字段

    Golang 从 Json 串中快速取出需要的字段 在 web 编程中很多情况下接口的数据是 json 格式,在我们拿到接口的 json 数据后如何方便地从中提取出需要的字段呢?我们可以自定义一个结构 ...

  9. 【Golang】关于Go中logrus的用法

    一.标准日志库log 在日常开发中,日志是必不可少的功能.虽然有时可以用fmt库输出一些信息,但是灵活性不够.Go 标准库提供了一个日志库log. 1.快速使用 log是 Go 标准库提供的,不需要另 ...

最新文章

  1. Docker安装weblogic(五)
  2. 大学计算机html,编程基础(C+VB+HTML)(辅)19级计算机
  3. 像我这种背景的人跑到微软来干什么?
  4. 【leetcode】1032. Stream of Characters
  5. 通过Ajax解析和jQuery写了一个小小的导航条
  6. java返回两个string_java – 为什么String.intern()方法返回两个不同的结果?
  7. xshell连接突然报Connection closed by foreign host.
  8. python xlrd_python读取excel(xlrd)
  9. 编程体系结构(06):Java面向对象
  10. Intel 64/x86_64/IA-32/x86处理器 - 指令格式(9) - 64位指令格式(通用格式)
  11. TensorFlow发布语音识别入门教程,附1GB数据集代码
  12. 功夫熊猫2观后感,无剧透,放心进
  13. Android手机投屏后没有声音,安卓手机镜像投屏没有声音解决办法
  14. 网络请求分析实战篇(01)—— 爬取amazon搜索栏的关联关键词
  15. 计算机招聘试题选择题,计算机考试题库:计算机基础练习题(39)
  16. yield方法释放锁吗_java多线程,让步yield
  17. 关于Amazon AWS —— 免费的午餐不好吃
  18. C4D演绎中国风设计这波电商BANNER背景素材,高级了
  19. Axon框架指南 - Baeldung
  20. Linux--解决Windows和Ubuntu之间的复制粘贴问题

热门文章

  1. JS数组方法汇总 array数组元素的添加和删除
  2. 路由器与集线器、交换机的根本区别
  3. vuel路由间通讯_vue嵌套路由之间的通信(非vuex方法实现)
  4. ETSI MEC — 与 5G 的融合
  5. 5G 信令流程 — ULCL 插入流程
  6. 电路设计中三极管和MOS管做开关用时的区别
  7. matlab画图函数plot
  8. 电流控制型开关电源的基本电路
  9. WIN7系统开题提示loli.vbs 操作超时怎么办
  10. Electron 调用系统工具记事本、计算器等