OACC v2.0.0-rc.8
Pre-release
Pre-release
·
11 commits
to master
since this release
Release date: 2017-06-07
Summary of changes in this release:
- adds support for pluggable password encryptors to the built-in SQLPasswordAuthenticationProvider, and prefixes the password hash with an identifier for the encryptor settings that created the hash
- adds a Jasypt-based password encryptor implementation with configurable digest parameters
- adds an OpenBSD-based bcrypt password encryptor implementation
- adds a transitioning password encryptor that can check existing passwords hashed with an old encryptor, but creates hashes with a new encryptor
- deprecates old factory methods for
SQLAccessControlContextthat did not specify aSQLPasswordAuthenticationProvider - adds a
PasswordEncryptorparameter toSQLAccessControlContextfactory methods that did not already take aSQLPasswordAuthenticationProvider SQLAccessControlSystemInitializernow requires a new-pwdencryptorcommand line argument- deprecates
LegacyJasyptPasswordEncryptor(formerly known asStrongCleanablePasswordEncryptor) - renames
CleanablePasswordEncryptorinterface toPasswordEncryptor - replaces Jasypt-based Unicode text normalization with up-to-date (and backwards compatible) ICU4J implementation, and applies it across all password encryptors
- fixes #31 -
SQLAccessControlSystemInitializercommand line tool now correctly accepts not specifying dbSchema - makes several command line arguments of
SQLAccessControlSystemInitializeroptional for databases that do not require them, and improves usage info - changes
Resource'stoString()to output a more accurate and future-proof representation - modifies
toString()on all permission implementations for simplicity and consistency - adds
equals()andhashCode()methods to thePasswordCredentialsimplementation - fixes acciente/oacc-db#3 - changes case of table identifiers in SQL statements to match the database setup scripts
- refactors internal
SQLAccessControlSystemInitializerto delegate toAuthenticationProviderand to useCredentials - updates
SQLPasswordAuthenticationProvider'sserialVersionUIDdue to serialization-incompatible structural changes - removes unused
SQLDialectparameter in theSQLPasswordAuthenticationProviderconstructors - removes the JUnit test suite classes to simplify running all tests, and removes obsolete test classes
- improves Javadoc comments and fixes typos
- updates dependencies to latest versions in
pom.xml, and adds the PostgreSQL JDBC driver (test scope) - removes obsolete configuration of surefire plugin in
pom.xmland updates licensing-related information - updates copyright notices
Summary of API changes:
- *New feature* Pluggable password encryptors
- Prior to this release, OACC's built-in authentication provider used a Jasypt-based password hash. Now OACC supports configuring the password hashing scheme and provides two implementations of the
PasswordEncryptorinterface: Jasypt and BCrypt. - adds a Jasypt-based password encryptor implementation with configurable digest parameters
- adds an OpenBSD-based bcrypt password encryptor implementation
- adds a transitioning password encryptor that can check existing passwords hashed with an old encryptor, but creates hashes with a new encryptor
- deprecates and moves
StrongCleanablePasswordEncryptortoLegacyJasyptPasswordEncryptor - renames
CleanablePasswordEncryptorinterface toPasswordEncryptor - updates
SQLPasswordAuthenticationProvider'sserialVersionUIDdue to serialization-incompatible structural changes - adds new factory methods to
SQLAccessControlContextFactorythat take aPasswordEncryptorparameter SQLAccessControlSystemInitializernow requires a new-pwdencryptorcommand line argument, but several command line arguments become optional for databases that do not require them- adds support to provide alternate resource identifier to
createResource()withexternalIdString parameter - allows one-time setting of alternate resource identifier to an existing resource via the new
setExternalId()method - adds
externalIdtoResourceand modifiesgetId()to returnLonginstead of a primitive
- Prior to this release, OACC's built-in authentication provider used a Jasypt-based password hash. Now OACC supports configuring the password hashing scheme and provides two implementations of the
- changes
Resource'stoString()to output a more accurate and future-proof representation - modifies
toString()on all permission implementations for simplicity and consistency - adds
equals()andhashCode()methods to thePasswordCredentialsimplementation - *Deprecation* deprecates old factory methods for
SQLAccessControlContextthat did not specify aSQLPasswordAuthenticationProvider - *Deprecation* deprecates
LegacyJasyptPasswordEncryptor(formerly known asStrongCleanablePasswordEncryptor)
Bug fixes:
- fixes #31 - SQLAccessControlSystemInitializer command line tool now allows not specifying the optional dbschema
- fixes acciente/oacc-db#3 - changes case of table identifiers in SQL statements to match the database setup scripts
Use the following dependency to include this release of OACC into your Maven project:
<dependency>
<groupId>com.acciente.oacc</groupId>
<artifactId>acciente-oacc</artifactId>
<version>2.0.0-rc.8</version>
</dependency>
Corresponding oacc-db release:
The version of the oacc-db database configuration scripts to be used with this release can be found here.