User Management#
Gradle module: source/extn/dbpwd-mgmt. Maven coordinate: com.palmyralabs.palmyra.extn:palmyra-dbpwd-mgmt:<version>.
Publishes the password-lifecycle services and a Spring Security AuthenticationProvider backed by a local database. Drop the dependency in, wire the AuthenticationProvider into your SecurityFilterChain, and every request authenticates against the user_password table.
Module dependencies#
api deps.palmyra.store.base // palmyra-base / store-base
api deps.spring.web
implementation deps.jakarta.servlet_api
implementation 'org.springframework.data:spring-data-jpa:3.2.1'
implementation 'org.springframework.boot:spring-boot-starter-security:3.2.1'
implementation 'jakarta.transaction:jakarta.transaction-api:2.0.1'
implementation 'org.modelmapper:modelmapper:3.2.0'Notes:
- No direct
palmyra-springdependency. The extension pullspalmyra-baseonly and relies on raw Spring artifacts — it’s usable in non-palmyra-spring apps too. - BCrypt arrives transitively via
spring-security-cryptoinsidespring-boot-starter-security;BCryptPasswordEncoderis available without a separate coordinate. UserPasswordRepositoryis not aJpaRepository. JPA is available (the module pullsspring-data-jpa) but the repository implementation is custom.
Pages#
| Page | Role |
|---|---|
| UserPasswordRepository | Load / update the password record |
| PasswordMgmtService | Verify, reset, change, force-change |
| PasswordVerificationService | Narrow “verify only” SPI |
| LocalDBAuthenticationProvider | Spring Security provider wired to the services above |