Commit Graph

3194 Commits

Author SHA1 Message Date
Josh Cummings 39a80497c2
Merge branch '6.4.x' 2025-03-04 09:53:06 -07:00
Josh Cummings 4ae0965b1c
Merge branch '6.3.x' into 6.4.x 2025-03-04 09:52:31 -07:00
Josh Cummings 46cd94b5f4
SpEL Propagates Authorization Exceptions
Closes gh-16697
2025-03-04 09:51:55 -07:00
Max Batischev fa35c5b4d8 Make DefaultOneTimeToken Serializable
Closes gh-16617

Signed-off-by: Max Batischev <mblancer@mail.ru>
2025-02-27 12:49:48 -07:00
Josh Cummings ada6460f12
Merge branch '6.4.x' 2025-02-26 11:30:47 -07:00
Josh Cummings 954101ab0c
Use Thread-Safe Map
Issue gh-15906
2025-02-26 11:28:10 -07:00
Josh Cummings ae2894ab25
Update Copyright
Issue gh-16600
2025-02-24 15:09:04 -07:00
dae won 45b51fe3c8 Add grantedAuthorityMapper as a class member
- Add unit tests for setGrantedAuthorityMapper method

Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-24 15:05:55 -07:00
dae won cb07031259 Add unit tests for setUserDetailsMapper method
Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-24 15:05:55 -07:00
dae won 22511aac7f Refactor mapToUser method visibility to private
Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-24 15:05:55 -07:00
dae won 6ac3426e39 Add userDetailsMapper as a class member
Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-24 15:05:55 -07:00
dae won e8fe003c4c Make mapToUser and mapToGrantedAuthority protected in JdbcUserDetailsManager
- Closes gh-16540

Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-24 15:05:55 -07:00
Josh Cummings 43ddf73ddb
Polish Exception Message
This error message provides more context around which credentials failed.

Issue gh-16494
2025-02-20 13:31:59 -07:00
Max Batischev 08f71461b4 Add Support BadCredentialsException to OneTimeTokenAuthenticationProvider
Closes gh-16494

Signed-off-by: Max Batischev <mblancer@mail.ru>
2025-02-20 13:26:11 -07:00
Josh Cummings 6fdfeb3413
Polish Debug Messages
Issue gh-16484
2025-02-14 16:05:42 -07:00
tejas-teju 291162a195 Add debug messages for auth exceptions in ProviderManager
Issue gh-16484

Signed-off-by: tejas-teju <tejas8196@gmail.com>
2025-02-14 16:01:22 -07:00
Tran Ngoc Nhan 5d089f680e Consistently NonNull annotation
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-02-13 16:18:28 -07:00
Josh Cummings 981e3fd779
Merge branch '6.4.x' 2025-02-05 13:59:12 -07:00
Josh Cummings b4c7795699
Support Serialization for Authorization Components
Closes gh-16544
2025-02-05 13:58:32 -07:00
Josh Cummings e63ef3cdc4
Merge branch '6.4.x' 2025-02-03 12:35:53 -07:00
Josh Cummings 47fd6befde
Ensure Serialization Compatibility for AuthenticationException
Issue gh-16286
2025-02-03 12:34:43 -07:00
dae won 6a94a294ea Lazily compose debug message in AbstractUserDetailsAuthenticationProvider
Closes gh-16495

Signed-off-by: dae won <eodnjs01477@gmail.com>
2025-02-03 12:27:49 -07:00
tejas-teju e724ea16a4 Update UsernameNotFoundException message
Closes gh-16497

Signed-off-by: tejas-teju <tejas8196@gmail.com>
2025-01-30 18:25:52 -07:00
Josh Cummings e1a42db845
Merge branch '6.4.x' 2025-01-23 17:03:53 -07:00
Josh Cummings 36716d12ba
Serialization Support of Core Components
Issue gh-16276
2025-01-23 16:50:30 -07:00
Josh Cummings 3e4ba737e7
Don't Support Serialzation of Deprecated Access Classes
Issue gh-16276
2025-01-23 16:46:38 -07:00
Josh Cummings d7921daa13
Support Serialization for SecurityConfig
Issue gh-16276
2025-01-23 16:44:53 -07:00
Max Batischev 474b5e151a Add Support GenerateOneTimeTokenRequestResolver
Closes gh-16291

Signed-off-by: Max Batischev <mblancer@mail.ru>
2025-01-22 17:09:55 -06:00
Josh Cummings c2a5709e0f
Merge branch '6.4.x' 2025-01-17 16:09:01 -07:00
Josh Cummings bbe4f87641
Mark Serialization Support for Events
Issue gh-16276
2025-01-17 16:08:31 -07:00
Josh Cummings 9a3bbf8d00
Merge branch '6.4.x' 2025-01-17 14:17:16 -07:00
Josh Cummings 45da5c94b6
Support Serialization in Test Classes
Issue gh-16276
2025-01-17 14:15:30 -07:00
2-say 33ecb443ea Suggest replacing size() == 0 with isEmpty() for collection check
Consider using isEmpty() instead of size() == 0 to improve code readability
and follow modern Java practices.

Signed-off-by: 2-say <dev2say@gmail.com>
2025-01-16 16:27:50 -07:00
Josh Cummings 6019803064
Merge branch '6.4.x' 2025-01-14 18:38:14 -07:00
Josh Cummings 244fd2eb51
Support Serialization in Exceptions
Issue gh-16276
2025-01-14 18:37:53 -07:00
Josh Cummings 0af4cdbf5c
Merge branch '6.4.x' 2025-01-14 17:05:21 -07:00
Josh Cummings 8735368d9e
Don't Support Serialization of Jackson Modules
Issu gh-16276
2025-01-14 17:04:36 -07:00
Rob Winch bb38fd3483 Merge branch '6.4.x'
Closes gh-16409
2025-01-13 17:33:32 -06:00
Toshiaki Maki 5075869418 Fix for JdbcOneTimeTokenService cleanupExpiredTokens failing with PostgreSQL
Closes gh-16344
2025-01-13 17:09:57 -06:00
github-actions[bot] 95ec49a21d Support Meta-Annotation Parameters on Parameter Annotations
Closes gh-16248
2024-12-19 15:14:22 -07:00
Josh Cummings b9f3a28678 Add UserDetailsService Constructor
Closes gh-15973
2024-12-16 17:59:16 -07:00
Josh Cummings b9911fd522
Add serialVersionUID to Authentication classes
Issue gh-16276
2024-12-13 16:41:32 -07:00
Joe Grandja c2cfe92a02 Merge branch '6.3.x' 2024-11-18 05:16:16 -05:00
Joe Grandja 709103e38c Merge branch '6.2.x' into 6.3.x 2024-11-18 04:45:38 -05:00
Joe Grandja a8c4d6cead Require Locale argument for toLower/toUpperCase usage 2024-11-18 04:22:26 -05:00
Josh Cummings 69cbe12a7b
Register Authorization Proxied Type
Closes gh-16106
2024-11-15 15:07:37 -07:00
Tran Ngoc Nhan ffed4ea1dc Polish diamond usage 2024-10-25 13:42:33 -07:00
Max Batischev 9cb81f8ad5 Polish JdbcOneTimeTokenService 2024-10-25 13:26:52 -07:00
Josh Cummings 981fbd5c2c Polish Tests
Closes gh-14768
2024-10-24 20:51:34 -07:00
Max Batischev ec13b8db4b Add @FunctionalInterface to AuthorizationEventPublisher 2024-10-23 12:45:00 -07:00
Josh Cummings 95aaf3566f Use Thread-safe Map
Closes gh-15906
2024-10-22 16:16:17 -07:00
Steve Riesenberg af2b84246b
Fix flaky test
Issue gh-15735
2024-10-18 12:22:08 -05:00
kwonyonghyun b8aa78829c Improve readability of empty collection checks 2024-10-14 12:16:39 -07:00
Tran Ngoc Nhan 31f8caec5f Polish diamond operator usage 2024-10-14 11:51:35 -07:00
Josh Cummings 9ce5a76e8c Polish AuthorizationManager#authorize
Issue gh-14843
2024-10-14 11:48:57 -07:00
Max Batischev e7644925f8 Add AuthorizationResult support for AuthorizationManager
Closes gh-14843
2024-10-14 11:48:57 -07:00
Josh Cummings 702538ebce AuthorizationEventPublisher Accepts AuthorizationResult
Closes gh-15915

Co-authored-by: Max Batischev <mblancer@mail.ru>
2024-10-14 11:48:57 -07:00
Munawar Hafiz aa7ef1192e Replaces Date().getTime() method with System.currentTimeMillis() 2024-10-10 14:29:25 -05:00
Josh Cummings b26f2af5d5 Polish
Formatting as well as adding a missing defer

Issue gh-15699
2024-10-07 16:39:54 -07:00
Max Batischev 2ca2e56383 Add Reactive One-Time Token Login support
Closes gh-15699
2024-10-07 16:39:54 -07:00
Rob Winch 1dd79c379b Add JdbcOneTimeTokenService
Closes gh-15735
2024-10-02 14:42:13 -05:00
Rob Winch c3a5ae1254 Fix logger checkstyle 2024-10-02 14:39:58 -05:00
Rob Winch 7738e6c895 Add logger.isDebugEnabled()
Issue gh-15735
2024-10-02 14:24:23 -05:00
Rob Winch c4b60cd080 Reduce visibility for JdbcOneTimeTokenServiceTests
Issue gh-15735
2024-10-02 14:24:23 -05:00
Rob Winch 650ec3ba82 Use Duration for calculating validity
This improves readability.

Issue gh-15735
2024-10-02 14:24:23 -05:00
Rob Winch e8c71df899 Use private Inner JdbcOneTimeTokenService classes
Issue gh-15735
2024-10-02 14:24:23 -05:00
Rob Winch 612b15abcc JdbcOneTimeTokenService.setCleanupCron
Spring Security uses setter methods for optional member variables. Allows
for a null cleanupCron to disable the cleanup.

In a clustered environment it is likely that users do not want all nodes
to be performing a cleanup because it will cause contention on the ott
table.

Another example is if a user wants to invoke cleanUpExpiredTokens with a
different strategy all together, they might want to disable the cron job.

Issue gh-15735
2024-10-02 14:22:25 -05:00
Rob Winch 4787ac254d cleanUpExpiredTokens->cleanupExpiredTokens
Issue gh-15735
2024-10-02 10:59:26 -05:00
Rob Winch 4f328c9503 destroy() shuts down the taskScheduler
Issue gh-15735
2024-10-02 10:59:21 -05:00
Max Batischev 0c216f0b59 Add public to setClock method in InMemoryOneTimeTokenService
Closes gh-15863
2024-09-30 15:33:33 -05:00
Max Batischev 50cc36d53e Add support JdbcOneTimeTokenService
Closes gh-15735
2024-09-29 00:06:10 +03:00
DingHao 68d814e042 Polish ExpressionTemplateSecurityAnnotationScanner 2024-09-23 16:05:22 -07:00
Jonny Coddington b90851d968 Improve Error Messages for PasswordEncoder
Closes gh-14880

Signed-off-by: Jonny Coddington <bottlerocketjonny@protonmail.com>
2024-09-17 14:16:08 -07:00
Josh Cummings 1760e7fac8 Cache Annotation Lookups
Closes gh-15799
2024-09-15 21:30:55 -07:00
Josh Cummings d194724a04 Skip Proxying If Already Proxied
Issue gh-15709
2024-09-15 21:30:55 -07:00
Josh Cummings 6f5e103dec Use AnnotationTemplateExpressionDefaults in Reactive
Issue gh-15097
2024-09-15 21:30:55 -07:00
Marcus Hert Da Coregio 0618d4e03f Provide Runtime Hints for Beans used in Pre/PostAuthorize Expressions
Closes gh-14652
2024-09-13 08:42:14 -03:00
Josh Cummings fd5d03d384 Add AuthorizeReturnObject Hints
Closes gh-15709
2024-09-10 11:57:31 -07:00
Josh Cummings da38b13a17 Add SecurityHintsRegistrar
An interface for registering hints based on Security infrastructure
beans.

Closes gh-15772
2024-09-10 11:57:31 -07:00
Josh Cummings 927de0d3b8
Use AuthorizationProxy Interface for Class Proxying
Issue gh-15747
2024-09-10 07:58:21 -06:00
Marcus Hert Da Coregio 2ff29dc229 Throw AuthorizationDeniedException when AuthorizationResult is available
Closes gh-15706
2024-09-10 09:14:50 -03:00
Josh Cummings fce2eb1531
Add AuthorizationProxy Interface
Closes gh-15747
2024-09-09 15:39:03 -06:00
Marcus Hert Da Coregio 4855287743 Merge branch '6.3.x'
Closes gh-15768
2024-09-09 08:54:14 -03:00
Marcus Hert Da Coregio aeae740926 Merge branch '6.2.x' into 6.3.x
Closes gh-15767
2024-09-09 08:54:00 -03:00
Marcus Hert Da Coregio a268b78473 Merge branch '5.8.x' into 6.2.x
Closes gh-15766
2024-09-09 08:53:39 -03:00
Marcus Hert Da Coregio a0e6c17512 Do not log exception if CasJackson2Module is not present
Closes gh-15749
2024-09-09 08:32:40 -03:00
Josh Cummings c0a10b90ba
Merge remote-tracking branch 'origin/6.3.x' 2024-09-04 14:48:23 -06:00
DingHao 5c20505b0e Support Class Attributes in Annotation Template Processing
Closes gh-15721
2024-09-04 13:41:46 -07:00
Josh Cummings c53ee19a83 Polish Abstract Deserializer 2024-09-04 07:55:09 -07:00
hyunmin0317 fee79ccb51 Abstract Jackson2 Set and List Deserializers 2024-09-04 07:55:09 -07:00
Niels Basjes 2dc787a573 Fix adding more implied roles in the RoleHierarchy Builder.
Closes gh-15717

Signed-off-by: Niels Basjes <niels@basjes.nl>
2024-09-04 10:28:50 -03:00
Marcus Hert Da Coregio 00e4a8fb54 Add support for One-Time Token Login
Closes gh-15114
2024-09-03 10:07:56 -03:00
DingHao fd05c5ad76 Remove Advised Methods from Authorization Proxy Objects
Closes gh-15561
2024-08-30 10:40:25 -07:00
Josh Cummings 626610a975
Polish Annotation API
Rename to a class that isn't focused on the synthesis implementation detail.
Also add Security to the front of the name to clarify that it is only intended
for security annotations, reminiscent of SecurityMetadataSource.

Refine method signatures to better articulate supported use cases.

Issue gh-15286
2024-08-30 08:51:49 -06:00
Josh Cummings cc6de8fa5d
Hide MergedAnnotation Implementation Details
Issue gh-15286
2024-08-29 17:27:14 -06:00
DingHao 84fc5a70ee Fix variable targetClassToUse not used
Closes gh-15567
2024-08-26 15:49:22 -07:00
Josh Cummings 1118b0ec63
Defer Sorting AuthorizationAdvisors in addAdvisor
Issue gh-15658
2024-08-20 17:23:10 -06:00
Josh Cummings 4da13f6091
Merge branch '6.3.x' 2024-08-20 16:47:48 -06:00
Josh Cummings 0cab7c8f15
Defer Sorting AuthorizationAdvisors
Invoking AnnotationAwareOrderComparator#sort while the
AuthorizationAdvisors are still being computed causes those
advisors to be eagerly instantiated, making components
like ObservationRegistry ineligible for post processing.

This commit defers the sorting of the advisors until
after they are all fully instantiated and available in
the application context.

Closes gh-15658
2024-08-20 16:47:29 -06:00
Josh Cummings f398be793d
Simplify AuthorizationAdvisorProxyFactory Configuration
Closes gh-15497
2024-08-19 12:34:38 -06:00