pub struct AdminPlugin { /* private fields */ }Expand description
Admin plugin for user management operations.
Implementations§
Source§impl AdminPlugin
impl AdminPlugin
pub fn new() -> Self
pub fn with_config(config: AdminConfig) -> Self
pub fn default_role(self, val: impl Into<String>) -> Self
pub fn admin_roles(self, val: Vec<String>) -> Self
pub fn admin_user_ids(self, val: Vec<String>) -> Self
pub fn roles(self, val: HashMap<String, RolePermissions>) -> Self
pub fn default_ban_reason(self, val: String) -> Self
pub fn default_ban_expires_in(self, val: f64) -> Self
pub fn impersonation_session_duration(self, val: f64) -> Self
pub fn allow_impersonating_admins(self, val: bool) -> Self
Source§impl AdminPlugin
impl AdminPlugin
Sourcepub fn banned_user_message(self, message: impl Into<BannedUserMessage>) -> Self
pub fn banned_user_message(self, message: impl Into<BannedUserMessage>) -> Self
Set a fixed or asynchronous message for rejected session creation.
Trait Implementations§
Source§impl<S: AuthSchema> AuthPlugin<S> for AdminPlugin
impl<S: AuthSchema> AuthPlugin<S> for AdminPlugin
Source§fn on_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 AuthRequest,
ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AuthResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 AuthRequest,
ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<Option<AuthResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called for each request - return Some(response) to handle, None to pass through
Source§fn on_init<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut AuthInitContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_init<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut AuthInitContext<S>,
) -> Pin<Box<dyn Future<Output = AuthResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when the plugin is initialized
Source§fn telemetry_plugin_id(&self) -> Option<&'static str>
fn telemetry_plugin_id(&self) -> Option<&'static str>
Return the upstream plugin ID; core option wrappers have no plugin ID.
Source§fn openapi(&self) -> Result<OpenApiPluginMetadata, AuthError>
fn openapi(&self) -> Result<OpenApiPluginMetadata, AuthError>
Document this configured plugin without invoking application field policies.
Source§fn password_hasher(&self) -> Option<Arc<dyn PasswordHasher>>
fn password_hasher(&self) -> Option<Arc<dyn PasswordHasher>>
Select the base password hasher before plugin initialization wraps it.
Source§fn telemetry(&self, _options: &mut PluginTelemetry)
fn telemetry(&self, _options: &mut PluginTelemetry)
Report configured options without invoking callbacks or initializing the plugin.
Source§fn rate_limits(&self) -> Result<Vec<PluginRateLimit>, AuthError>
fn rate_limits(&self) -> Result<Vec<PluginRateLimit>, AuthError>
Default endpoint limits, overridden by explicit application limits.
Source§fn on_http_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn on_http_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Inspect an HTTP request after rate limiting and before endpoint middleware.
Native API calls do not run this hook. A response skips endpoint hooks.
Source§fn on_http_response<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn on_http_response<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthResponse>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Inspect the HTTP router response, including route misses and body errors.
Early HTTP request responses and native endpoint calls skip this hook.
A replacement response stops the remaining HTTP response hooks.
Source§fn before_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<BeforeRequestAction>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn before_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_ctx: &'life2 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<Option<BeforeRequestAction>, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called for a registered endpoint after HTTP body decoding and origin checks. Read more
Source§fn after_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn after_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_req: &'life1 AuthRequest,
_response: &'life2 mut AuthResponse,
_ctx: &'life3 AuthContext<S>,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Inspect or extend the final route response after session cookies are applied.
Auto Trait Implementations§
impl !RefUnwindSafe for AdminPlugin
impl !UnwindSafe for AdminPlugin
impl Freeze for AdminPlugin
impl Send for AdminPlugin
impl Sync for AdminPlugin
impl Unpin for AdminPlugin
impl UnsafeUnpin for AdminPlugin
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more