Expand description
§sa-token-macro
sa-token-rust的过程宏
提供类似Java注解的功能:
#[sa_check_login]
- 检查登录#[sa_check_permission("permission")]
- 检查权限#[sa_check_role("role")]
- 检查角色#[sa_ignore]
- 忽略认证(跳过所有认证检查)
§使用示例
ⓘ
use sa_token_macro::*;
#[sa_check_login]
async fn user_info() -> impl Responder {
// 自动验证登录,未登录会返回401
"User info"
}
#[sa_check_permission("user:delete")]
async fn delete_user(id: u64) -> impl Responder {
// 自动验证权限,无权限会返回403
"User deleted"
}
#[sa_check_role("admin")]
async fn admin_panel() -> impl Responder {
// 自动验证角色,无角色会返回403
"Admin panel"
}
#[sa_ignore]
async fn public_api() -> impl Responder {
// 此接口不需要任何认证
"Public API"
}
// 也可以用在结构体上,表示整个控制器都忽略认证
#[sa_ignore]
struct PublicController;
Attribute Macros§
- sa_
check_ login - 检查登录状态的宏
- sa_
check_ permission - 检查权限的宏
- sa_
check_ permissions_ and - 同时检查多个权限(AND逻辑)
- sa_
check_ permissions_ or - 同时检查多个权限(OR逻辑)
- sa_
check_ role - 检查角色的宏
- sa_
check_ roles_ and - 同时检查多个角色(AND逻辑)
- sa_
check_ roles_ or - 同时检查多个角色(OR逻辑)
- sa_
ignore - 忽略认证检查的宏