Commit Graph

1689 Commits

Author SHA1 Message Date
Vedran Pavic
e5eeacec5f Update security config in samples
This commit updates security configuration in samples to:

- use AuthorizationFilter instead of FilterSecurityInterceptor
- update session creation policy in REST sample
2022-10-25 14:27:39 -05:00
Rob Winch
62ec64310b Next Development Version 2022-10-18 20:46:04 -05:00
Rob Winch
25d810eaa3 Release 3.0.0-RC1 3.0.0-RC1 2022-10-18 20:46:04 -05:00
Vedran Pavic
82db55c3f8 Polish SessionRepositoryFilter
This commit polishes SessionRepositoryFilter by simplifying some code paths.
2022-10-18 16:47:30 -05:00
Yanming Zhou
1f38a937bd Eliminate unnecessary sessionRepository::findById 2022-10-18 16:47:30 -05:00
Rob Winch
e027d2091b Update to Spring Security 6.0.0-RC1
Closes gh-2193
2022-10-18 16:44:06 -05:00
Vedran Pavic
bcbe53c3dd Make MongoSession package private
See gh-2170
2022-10-18 14:57:23 -05:00
Vedran Pavic
72742b52e3 Make MongoSessionUtils package private
See gh-2170
2022-10-18 14:57:23 -05:00
Vedran Pavic
1889a4c64e Use standard Spring utils in MongoDB module
This commit replaces usages of custom assert utility class with standard one from Spring Framework, and removes the custom utility.

See gh-2170
2022-10-18 14:57:23 -05:00
Jerome Prinet
3000f3198f Update Gradle Enterprise plugin to 3.11.2 2022-10-18 14:32:18 -05:00
Jerome Prinet
82a12afe93 Update Gradle Enterprise plugin to 3.11.1 2022-10-18 14:32:18 -05:00
Vedran Pavic
d2da662c3f Upgrade Gradle to 7.5.1 2022-10-18 14:31:30 -05:00
Vedran Pavic
95e2c9e42a Add .gitattributes 2022-10-18 14:31:30 -05:00
Rob Winch
ff8672b1d5 Update to mongodb 4.8.0-beta0
Closes gh-2182
2022-10-17 22:48:31 -05:00
Rob Winch
31d4a766eb Update to derby 10.16.1.1
Closes gh-2183
2022-10-17 22:48:18 -05:00
Rob Winch
ce332022de Update to lettuce 6.2.1.RELEASE
Closes gh-2184
2022-10-17 22:48:05 -05:00
Rob Winch
5c2ca6d5ac Update to hazelcast 5.1.4
Closes gh-2185
2022-10-17 22:47:54 -05:00
Rob Winch
bc93d80a17 Update to Spring Data 2022.0.0-RC1
Closes gh-2186
2022-10-17 22:47:42 -05:00
Rob Winch
fd835fd316 Update to Spring Framework 6.0.0-RC2
Closes gh-2187
2022-10-17 22:47:25 -05:00
Rob Winch
4e3ea616ba Update to Mockito 4.8.1
Closes gh-2188
2022-10-17 22:47:12 -05:00
Rob Winch
08654749ae Update to JUnit 5.9.1
Closes gh-2189
2022-10-17 22:47:07 -05:00
Rob Winch
88306d037d Update to Jackson 2.13.4.20221013
Closes gh-2190
2022-10-17 22:46:52 -05:00
Rob Winch
de32e4c501 Update to Reactor 2022.0.0-RC1
Closes gh-2191
2022-10-17 22:46:42 -05:00
Vedran Pavic
668f85788a Avoid inheritance in configuration classes
This commit restructures configuration classes to avoid inheritance, where possible. This should provide more flexibility when composing custom configurations.

Closes gh-1415
2022-10-17 21:52:58 -05:00
Vedran Pavic
fc81049cbe Upgrade Logback to 1.4.4 2022-10-17 15:05:24 -05:00
Vedran Pavic
fbb94b40e8 Fix Spring Security XML config 2022-10-17 15:05:24 -05:00
Vedran Pavic
009cb5b592 Fix max inactive interval setters backwards compatibility
This commit restores integer based max inactive interval setters across all session repositories, that were migrated to java.time in 6d74cf5f.

This change caused problems building our Spring Boot based samples, as Spring Boot auto-configuration has move to session repository customizer based approach and is therefore using max inactive interval setters directly on session repository implementations.
2022-10-07 07:56:25 -05:00
Vedran Pavic
525b841ad6 Build against Project Reactor 2022.0.0-RC1 snapshots 2022-10-06 21:52:31 -05:00
Vedran Pavic
185ea87ff4 Build against Spring Security 6.0.0-RC1 snapshots 2022-10-06 21:52:31 -05:00
Vedran Pavic
aebe5ece6f Build against Spring Data 2022.0.0-RC1 snapshots 2022-10-06 21:52:31 -05:00
Vedran Pavic
30b8e68c67 Build against Spring Framework 6.0.0-RC1 snapshots 2022-10-06 21:52:31 -05:00
Vedran Pavic
c2f8428df9 Upgrade Logback to 1.4.1 2022-10-06 10:28:41 -05:00
Vedran Pavic
b5197b8665 Polish RedisIndexedSessionRepository
This commit addresses code warnings due to nullability of return values.
2022-10-06 10:28:11 -05:00
Vedran Pavic
2406ec8302 Fix SessionCreatedEvent handling in RedisIndexedSessionRepository
At present, RedisIndexedSessionRepository publishes a SessionCreatedEvent backed by an empty MapSession instance. This happens because session delta has been cleared before publishing a message to the session created channel.

Fixes gh-1338
2022-10-06 10:28:11 -05:00
Vedran Pavic
6d74cf5f35 Use java.time in all session repositories and configurations
This commit reworks all session repository implementations and their respective configurations to use java.time for managing maxInactiveInterval and other temporal values.
2022-10-06 10:26:50 -05:00
Vedran Pavic
da8e5fbbac Ensure configuration classes can be used with @Import
This commit adds tests that verify that all Spring Session configuration classes can be used with @Import, and fixes JDBC and Hazelcast HttpSession configurations and Redis WebSession configuration.
2022-09-26 09:01:09 -05:00
Vedran Pavic
4b34f35b82 Replace JSR-250 annotations with standard Spring lifecycle callbacks 2022-09-26 08:59:06 -05:00
Vedran Pavic
954a40f5d1 Simplify expired session cleanup jobs
At present, RedisIndexedHttpSessionConfiguration and JdbcHttpSessionConfiguration include [at]EnableScheduling annotated inner configuration classes that configure expired session cleanup jobs. This approach silently opts in users into general purpose task scheduling support provided by Spring Framework, which isn't something a library should do. Ideally, session cleanup jobs should only require a single thread dedicated to their execution and also one that doesn't compete for resources with general purpose task scheduling.

This commit updates RedisIndexedSessionRepository and JdbcIndexedSessionRepository to have them manage their own ThreadPoolTaskScheduler for purposes of running expired session cleanup jobs.

Closes gh-2136
2022-09-23 15:23:29 -05:00
Vedran Pavic
fb66cf3150 Remove @Configuration meta-annotation from @Enable*Session annotations
Closes gh-1361
2022-09-22 16:13:16 -05:00
Vedran Pavic
a23090e7e5 Fix "Find by Username" sample
Spring Boot's auto-configuration support for Spring Session now uses RedisSessionRepository as the default Redis session repository, so applications that rely on indexed session repository need to opt into the previous default. One such example is our "Find by Username" sample.

This commit fixes "Find by Username" sample by opting into the indexed repository type using newly introduced spring.session.redis.repository-type property.
2022-09-22 14:33:52 -05:00
Rob Winch
beaca53d44 Fix major/minor segments 2022-09-21 14:47:06 -05:00
Marcus Da Coregio
baed403a6a Polish SessionJdbcRuntimeHints
Issue gh-2103
2022-09-21 09:12:24 -03:00
Rob Winch
cd51c36dc0 Next Development Version 2022-09-20 14:59:00 -05:00
Rob Winch
7144e626cc Release 3.0.0-M4 3.0.0-M4 2022-09-20 14:57:53 -05:00
Rob Winch
0e0d0007e6 Next Development Version 2022-09-20 14:52:18 -05:00
Rob Winch
573424f2a1 Release 3.0.0-M3 2022-09-20 14:43:52 -05:00
Rob Winch
8e6e9dec53 Allow snapshot repository for samples
When a release is published Spring Boot has not been released, so
it can be beneficial to allow the samples to use the snapshot
repository. This is determined based on the springBootVersion property.
2022-09-20 14:42:49 -05:00
Rob Winch
8216be69cc Upgrade to org.postgresql:postgresql:42.5.0
Closes gh-2161
2022-09-20 14:02:52 -05:00
Rob Winch
0e1914b380 Update to org.mongodb 4.7.1
Closes gh-2162
2022-09-20 14:02:06 -05:00
Rob Winch
ec32a825d9 Upgrade to org.mariadb.jdbc:mariadb-java-client:3.0.7
Closes gh-2159
2022-09-20 14:00:45 -05:00