Crate spring_sa_token

Crate spring_sa_token 

Source
Expand description

§spring-sa-token

Automatic assembly for sa-token-rust.

§Storage Backend Selection

When both memory and with-spring-redis features are enabled, with-spring-redis takes priority. This allows --all-features testing while maintaining predictable behavior.

§Quick Start

Add to your Cargo.toml:

[dependencies]
spring-sa-token = { path = "../spring-sa-token" }  # Default: memory storage
# Or reuse spring-redis connection (recommended for production):
# spring-sa-token = { path = "../spring-sa-token", default-features = false, features = ["with-spring-redis", "with-web"] }

Configure in config/app.toml:

[sa-token]
token_name = "Authorization"
timeout = 86400
auto_renew = true
token_style = "uuid"
is_concurrent = true

Use in your application:

use spring::{auto_config, App};
use spring_web::{get, WebConfigurator, WebPlugin};
use spring_sa_token::{SaTokenPlugin, LoginIdExtractor, StpUtil};

#[auto_config(WebConfigurator)]
#[tokio::main]
async fn main() {
    App::new()
        .add_plugin(SaTokenPlugin)
        .add_plugin(WebPlugin)
        .run()
        .await
}

#[get("/user/info")]
async fn user_info(LoginIdExtractor(user_id): LoginIdExtractor) -> String {
    format!("Current user: {}", user_id)
}

Re-exports§

pub use crate::config::TokenStyle;
pub use crate::configurator::PathAuthBuilder;
pub use crate::configurator::SaTokenAuthConfigurator;
pub use crate::configurator::SaTokenConfigurator;
pub use sa_token_adapter;
pub use sa_token_core;
pub use sa_token_plugin_axum;

Modules§

config
Sa-Token configuration module
configurator
Sa-Token Configurator module

Structs§

CoreConfig
sa-token 配置
LoginIdExtractor
MemoryStorage
内存存储实现
OptionalSaTokenExtractor
SaTokenExtractor
SaTokenLayer
Sa-Token layer for Axum with optional path-based authentication 支持可选路径鉴权的 Axum Sa-Token 层
SaTokenManager
sa-token 管理器
SaTokenMiddleware
SaTokenPlugin
Sa-Token plugin for spring-rs
SaTokenState
Axum应用状态
StpUtil
StpUtil - 权限认证工具类

Enums§

SaTokenError

Attribute Macros§

sa_check_login
Check login status
sa_check_permission
Check user permission
sa_check_permissions_and
Check multiple permissions with AND logic
sa_check_permissions_or
Check multiple permissions with OR logic
sa_check_role
Check user role
sa_check_roles_and
Check multiple roles with AND logic
sa_check_roles_or
Check multiple roles with OR logic
sa_ignore
Ignore authentication for this endpoint