课后练习:通过 MOSN mecha 完成鉴权开发
更新时间:
简单鉴权拦截器介绍
ehttp 协议的服务端和客户端源码地址如下:
https://github.com/mosn/extensions/tree/master/java-quickstart/java-plugin-quickstart
ehttp-server 对应服务端程序,服务端启动监听 8089 端口。
ehttp-client 对应客户端程序,客户端启动监听 8008 端口。
ehttp 协议客户端支持 REST API 触发 RPC 调用:
curl localhost:8008/hello\?user=admin
# 访问本地 8008 端口查询用户信息
拦截器可以直接中断 MOSN 处理流程:
f.receiveHandler.SendHijackReplyWithBody(200, headers, "403 Forbidden")
return api.StreamFilterStop
代码自动生成提供 MOSN 启动后手动执行服务发布/订阅的脚本,您在 MOSN 首次启动手动执行即可:
cd ~/go/src/quick-start-practice/configs/codecs/ehttp/
bash ./auto_pub_sub.sh
课后练习
对 ehttp 协议进行扩展,实现拦截器插件 auth,只允许请求参数携带 user=admin
才允许访问。
要求:请求参数没有携带 user 或者 user 值不是 admin
,则 MOSN 拒绝访问。
例如:
curl localhost:8008/hello\?user=admin
允许访问。curl localhost:8008/hello
禁止访问。curl localhost:8008/hello\?user=yiji
禁止访问。
观看以下视频,了解鉴权拦截器开发步骤和注意事项:
文档内容是否对您有帮助?