< 返回版块

Mike Tang 发表于 2026-03-07 15:01

zyn - Rust 过程宏模板引擎

zyn 是一个 Rust 过程宏框架项目,旨在简化过程宏的开发工作。

核心特点

1. 统一的解决方案

  • 替代了传统开发中需要组合使用的多个crate(syn、quote、heck、proc-macro-error等)
  • 将所有功能整合到单一框架中

2. 内联控制流的模板系统

  • 支持 @if@for@match 等控制流语法
  • 无需使用 .iter().map().collect() 等繁琐代码
  • 模板语法更直观简洁

3. 内置格式转换和管道操作

  • 提供13种内置管道函数:snake、camel、pascal、screaming、kebab、upper、lower、str、trim、plural、singular、ident、fmt
  • 支持管道链式调用
  • 自动处理命名转换

4. 可复用组件系统

  • 通过 #[zyn::element] 将模板转换为可调用组件
  • 支持类型化参数
  • 组件可以相互组合

5. 简化的过程宏入口

  • #[zyn::derive]#[zyn::attribute] 替代原生宏注解
  • 自动解析输入
  • 支持提取器模式

6. 友好的诊断系统

  • 提供 error!warn!note!help!bail! 等宏
  • 无需手动处理 syn::Error
  • 编译器输出更清晰

7. 类型化属性解析

  • 通过 #[derive(Attribute)] 生成类型化结构
  • 简化辅助属性的处理

安装方式

cargo add zyn

https://github.com/aacebo/zyn

authx-rs - 一个为 Rust 开发的生产级身份认证和授权框架

authx-rs 是一个为 Rust 开发的生产级身份认证和授权框架。

核心设计理念

  • 零成本抽象:基于 trait 的异步原生设计
  • 插件化架构:所有功能均为插件形式,无硬编码
  • 框架无关:核心层不依赖特定 Web 框架

架构层次

该项目采用四层架构设计:

  1. HTTP 层 (authx-axum)

    • 提供 Session 层、限流层、CSRF 保护和处理器
  2. 插件层 (authx-plugins)

    • 邮箱密码登录、TOTP、魔法链接、密码重置
    • 管理后台、OAuth(即将推出)
  3. 核心引擎 (authx-core)

    • 零依赖核心:加密、JWT/EdDSA、RBAC/ABAC
    • 防暴力破解锁定、密钥轮换、事件系统
  4. 存储层 (authx-storage)

    • 提供存储接口适配器
    • 内置内存存储(测试用)和 PostgreSQL 存储
    • 支持自定义适配器

安全特性

  • 密码哈希:仅使用 Argon2id 算法
  • 会话令牌:SHA-256 哈希后存储
  • JWT 签名:采用 Ed25519/EdDSA
  • CSRF 防护:基于可信源的 Origin/Referer 检查

项目结构

  • crates/:核心 Rust 库
  • examples/:Axum 和 Actix-web 集成示例
  • packages/:TypeScript SDK 及 React/Vue 示例应用

https://github.com/hamzzy/authx-rs

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页