Skip to main content

Module user_details

Module user_details 

Source
Expand description

User Details Service for loading users from any data source.

§Spring Security Equivalent

Similar to Spring Security’s UserDetailsService and UserDetailsManager interfaces.

§Features

  • Async trait for loading users
  • Support for any data source (database, LDAP, API, etc.)
  • User management operations (create, update, delete)
  • Caching layer support

§Example

use actix_security_core::http::security::user_details::{UserDetailsService, UserDetailsError};
use async_trait::async_trait;

struct MyUserDetailsService {
    pool: PgPool,
}

#[async_trait]
impl UserDetailsService for MyUserDetailsService {
    async fn load_user_by_username(&self, username: &str) -> Result<Option<User>, UserDetailsError> {
        // Load from database...
        Ok(Some(user))
    }
}

Structs§

CachingUserDetailsService
Caching wrapper for UserDetailsService.
InMemoryUserDetailsService
In-memory implementation of UserDetailsService.
UserDetailsAuthenticator
Authenticator that uses a UserDetailsService for credential validation.

Enums§

UserDetailsError
Errors that can occur when loading or managing user details.

Traits§

UserDetailsManager
Extended trait for managing users (CRUD operations).
UserDetailsService
Async trait for loading user details from any data source.