Update AGENTS.md: SFTP authentication DataProvider integration
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled

This commit is contained in:
Warren
2026-06-19 01:16:05 +08:00
parent dfd76738c9
commit f7cfff27c0

View File

@@ -1451,6 +1451,53 @@ cargo build -p markbase-core # ✅ 0 error
---
**最後更新**2026-06-18 23:45
**版本**1.16SFTP 認證 DataProvider 整合完成)
## SFTP 認證 DataProvider 整合2026-06-18⭐⭐⭐⭐⭐
**完成時間**:約 30 分鐘
**新增代碼量**188 行
**Git commits**667d720 + dfd7673
### 实施内容 ⭐⭐⭐⭐⭐
**sftp/auth.rs 重構**
- `SftpAuth` 使用 `Arc<dyn DataProvider>` 而非 `AuthDb`
- 新增 `verify_password()`, `get_user()`, `get_home_dir()` 方法
- 新增單元測試(使用 SqliteProvider
**sftp/server.rs 重構**
- `MarkBaseSftpServer` 接受 `Arc<dyn DataProvider>` 參數
- `SshSession` 正確實現 `russh::server::Handler` trait
- `auth_request` 支持 password 和 public key 認證
- 修復原文件的 broken impl blocks 結構
### russh Handler 整合 ⭐⭐⭐⭐⭐
| Handler 方法 | 功能 | 狀態 |
|-------------|------|------|
| `auth_request` | Password + PublicKey 認證 | ✅ |
| `channel_open_session` | SSH channel 開啟 | ✅ |
| `subsystem_request` | SFTP/Shell subsystem | ✅ |
| `exec_request` | SCP/rsync 命令 | ✅ |
| `shell_request` | Shell 交互 | ✅ |
### 測試結果 ✅
```bash
cargo test -p markbase-core --lib # 135 passed, 0 failed
```
### Git 提交
**Commit 667d720**: "Refactor sftp/auth.rs to use DataProvider trait"
**Commit dfd7673**: "Refactor sftp/server.rs: integrate DataProvider for authentication"
**推送到**:✅ m5max128gitea + ✅ m4minigitea
---
**最後更新**2026-06-18 16:00
**版本**1.13VFS/DataProvider/Config 重構 Phase 1-6 完成)