tr069
(14)TeamsACS 登录时,显示用户不存在
## login 时,用户不存在的逻辑在哪里
使用 admin/teamsacs 登录时,发现无法登录,提示用户不存在。
于是查看了一下登录的处理逻辑:
```
// 登录提交
webserver.POST("/login
TeamsACS 在处理 BootStrap 事件时, 如何生成的密码
TeamsACS 是一个开源的 tr069 ACS 实现。其在处理 CPE 发送的 BootStrap 事件时,逻辑有点绕。
## BootStrap 处理逻辑
1. 判断 CPE 请求的 body 非空时,如果是 BootSt
TeamsACS 对于 BootStrap Event 的处理逻辑
实际上类似于 [TeamsACS 对于 PERIODIC Event 的处理逻辑](/teamsacs-periodic-event-processing-logic) 的处理逻辑,
只不过多了一个 UpdateManagementAut
TeamsACS 对于 PERIODIC Event 的处理逻辑
## Event 类型的判别
tr069/handlers.go
```
func (s *Tr069Server) processInformEvent(c echo.Context, lastInform *cwmp.Info
tr069 协议中何时使用 basic auth 或者 http digest auth
由于没有在 TeamsACS 的 tr069 server 部分代码中没有找到 HTTP Digest Auth Middleware 的逻辑。
我开始怀疑我对 tr069 协议的 auth 部分理解有问题。所以查询了 tr069 协议文
tr069 server TeamsACS 中的 Basic Auth 与 HTTP Digest Auth
我在 TeamsACS tr069/server.go 中只找到了 BasicAuth middleware, 并没有 http digest auth (准确地说 auth_client.go 中有实现,但是 server 逻辑里没有).
tr069 CPE 模拟器 genieacs-sim 默认通信流程解读
## cpe 端模拟器 genieacs sim 的日志
```
> ./genieacs-sim --acs-url=http://127.0.0.1:2999
Simulator 000000 started
Simulator
tr069 事件类型 (event type)
Inform 类型的消息中,包含 Event 信息。
> All communications and operations are performed in the scope of the provisioning session
tr069 消息类型 (message type)
tr069 是基于 SOAP 的 RPC 协议。
message type 可以理解为每个 RPC 的方法名。
这里有趣的地方是,既然是远程调用,那么就存在两种情况:
- ACS 调用 CPE 的方法
- CPE 调用
TeamsACS 代码目录结构
粗略浏览一遍,大概了解每个模块的每个文件是实现什么功能的。可以 tree 一下结构,把每个文件的注释加上。
## 查看目录
排除 assets 子目录,因为下面的 js 文件太多。
```
tree -I assets
上一页
下一页