Expand description
§sa-token-plugin-rocket
Rocket框架集成插件 - 一站式认证授权解决方案
§快速开始
只需要导入这一个包,即可使用所有功能:
[dependencies]
sa-token-plugin-rocket = "0.1.3" # 默认使用内存存储
# 或者使用 Redis 存储
sa-token-plugin-rocket = { version = "0.1.3", features = ["redis"] }§使用示例
ⓘ
use rocket::{State, get};
use sa_token_plugin_rocket::*; // 一次性导入所有功能
use std::sync::Arc;
// 用户信息接口 - 需要登录
#[get("/user/info")]
async fn user_info(token: SaTokenGuard) -> String {
format!("User ID: {}", token.token().as_str())
}
// 管理员接口 - 需要权限
#[get("/admin/users")]
async fn admin_users(login_id: LoginIdGuard) -> String {
format!("Admin: {}", login_id.login_id())
}
#[rocket::main]
async fn main() {
// 1. 初始化(使用内存存储,已重新导出)
let state = SaTokenState::builder()
.storage(Arc::new(MemoryStorage::new()))
.timeout(7200)
.build();
// 2. 创建 Rocket 实例
rocket::build()
// 基础中间件 - 提取并验证 token
.attach(SaTokenLayer::new(state.clone()))
// 登录检查中间件 - 应用于 /user 路径
.attach(SaCheckLoginFairing::new(state.clone()))
// 权限检查中间件 - 应用于 /admin 路径
.attach(SaCheckPermissionFairing::new(state.clone(), "admin"))
.manage(state)
.mount("/", routes![user_info, admin_users])
.launch()
.await
.unwrap();
}Re-exports§
pub use middleware::SaTokenFairing;pub use middleware::SaCheckLoginFairing;pub use middleware::SaCheckPermissionFairing;pub use middleware::SaCheckRoleFairing;pub use layer::SaTokenLayer;pub use extractor::SaTokenGuard;pub use extractor::OptionalSaTokenGuard;pub use extractor::LoginIdGuard;pub use adapter::RocketRequestAdapter;pub use adapter::RocketResponseAdapter;pub use state::SaTokenState;pub use state::SaTokenStateBuilder;pub use sa_token_core;pub use sa_token_adapter;
Modules§
- adapter
- Rocket 请求/响应适配器
- error
- Error type definitions | 错误类型定义
- extractor
- Rocket Request Guards (提取器)
- layer
- middleware
- Rocket Fairing (中间件)
- state
- Sa-Token 状态管理
- token
- Token 管理模块
Structs§
- Access
Token - Access Token Response | 访问令牌响应
- Auth
Result - Authentication result after processing 处理后的鉴权结果
- Authorization
Code - Authorization Code | 授权码
- Default
WsToken Extractor - Default token extractor implementation 默认的 Token 提取器实现
- Distributed
Session - Distributed session data structure 分布式 Session 数据结构
- Distributed
Session Manager - Distributed session manager 分布式 Session 管理器
- InMemory
Distributed Storage - In-memory distributed session storage implementation 内存分布式 Session 存储实现
- InMemory
Pusher - In-memory message pusher implementation 内存消息推送器实现
- JwtClaims
- JWT Claims | JWT 声明
- JwtManager
- JWT Manager | JWT 管理器
- Logging
Listener - 简单的日志监听器示例
- Memory
Storage - 内存存储(默认启用) 内存存储实现
- Nonce
Manager - Nonce Manager | Nonce 管理器
- OAuth2
Client - OAuth2 Client Information | OAuth2 客户端信息
- OAuth2
Manager - OAuth2 Manager | OAuth2 管理器
- OAuth2
Token Info - OAuth2 Token Information (for storage) | OAuth2 令牌信息(用于存储)
- Online
Manager - Online user manager 在线用户管理器
- Online
User - Online user information 在线用户信息
- Path
Auth Config - Path-based authentication configuration 基于路径的鉴权配置
- Push
Message - Push message structure 推送消息结构
- Refresh
Token Manager - Refresh Token Manager | Refresh Token 管理器
- SaSession
- Session 对象 | Session Object
- SaToken
Config - sa-token 配置
- SaToken
Context - sa-token 上下文 | sa-token Context
- SaToken
Event - 事件数据
- SaToken
Event Bus - 事件总线 - 管理所有监听器并分发事件
- SaToken
Manager - sa-token 管理器
- Service
Credential - Service credential for inter-service authentication 服务间认证的服务凭证
- SsoClient
- SSO 客户端 | SSO Client
- SsoConfig
- SsoManager
- SsoServer
- SSO 服务端 | SSO Server
- SsoSession
- SSO 全局会话 | SSO Global Session
- SsoTicket
- SSO 票据结构 | SSO Ticket Structure
- StpUtil
- StpUtil - 权限认证工具类
- Token
Info - Token 信息 | Token Information
- Token
Value - Token 值
- WsAuth
Info - WebSocket authentication information WebSocket 认证信息
- WsAuth
Manager - WebSocket authentication manager WebSocket 认证管理器
Enums§
- JwtAlgorithm
- JWT Algorithm | JWT 算法
- Message
Type - Message type enumeration 消息类型枚举
- SaToken
Error - SaToken
Event Type - 事件类型
- Token
Style - Token 风格 | Token Style
Traits§
- Distributed
Session Storage - Distributed session storage trait 分布式 Session 存储 trait
- Framework
Adapter - 框架适配器trait
- LoginId
- LoginId trait - 支持任何可以转换为字符串的类型作为登录 ID
- Message
Pusher - Message pusher trait 消息推送器 trait
- Permission
Checker - 权限检查器 | Permission Checker
- SaStorage
- 存储适配器trait
- SaToken
Listener - 事件监听器 trait | Event Listener Trait
- WsToken
Extractor - Token extractor trait for WebSocket connections WebSocket 连接的 Token 提取器 trait
Functions§
- create_
context - Create SaTokenContext from authentication result 从鉴权结果创建SaTokenContext
- match_
any - Check if path matches any pattern in the list 检查路径是否匹配列表中的任意模式
- match_
path - Match a path against a pattern (Ant-style wildcard) 匹配路径与模式(Ant 风格通配符)
- need_
auth - Determine if authentication is needed for a path 判断路径是否需要鉴权
- process_
auth - Process authentication for a request path 处理请求路径的鉴权
Type Aliases§
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 - 忽略认证检查的宏