Crate sa_token_macro

Crate sa_token_macro 

Source
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
忽略认证检查的宏