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
authx-rs - 一个为 Rust 开发的生产级身份认证和授权框架
authx-rs 是一个为 Rust 开发的生产级身份认证和授权框架。
核心设计理念
- 零成本抽象:基于 trait 的异步原生设计
- 插件化架构:所有功能均为插件形式,无硬编码
- 框架无关:核心层不依赖特定 Web 框架
架构层次
该项目采用四层架构设计:
-
HTTP 层 (authx-axum)
- 提供 Session 层、限流层、CSRF 保护和处理器
-
插件层 (authx-plugins)
- 邮箱密码登录、TOTP、魔法链接、密码重置
- 管理后台、OAuth(即将推出)
-
核心引擎 (authx-core)
- 零依赖核心:加密、JWT/EdDSA、RBAC/ABAC
- 防暴力破解锁定、密钥轮换、事件系统
-
存储层 (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 页
评论区
写评论还没有评论