Commit Graph

2078 Commits

Author SHA1 Message Date
Max Batischev 7b07ef5ff3 Add Support JdbcUserCredentialRepository
Closes gh-16224
2024-12-20 16:54:51 -06:00
Max Batischev 38523faaa0 Remove Unused loggers
Closes gh-16319
2024-12-20 16:51:38 -06:00
Max Batischev e9bdb5b96e Polish SecurityFilterChain Validation
Issue gh-15982
2024-12-19 15:04:01 -07:00
Josh Cummings 1104b45832
Polish SessionLimit
- Move to the web.authentication.session package since it is only needed
by web.authentication.session elements and does not access any other web
element itself.
- Add Kotlin support
- Add documentation

Issue gh-16206
2024-12-18 18:32:28 -07:00
Claudenir Machado 1864577e98 Address SessionLimitStrategy
Closes gh-16206
2024-12-18 18:32:12 -07:00
Josh Cummings 3eeb4317f6 Add setFavorRelativeUris
This places the new functionality behind a setting so that
we can remain passive until we can change the setting in
the next major release.

Issue gh-7273
2024-12-17 22:35:41 -07:00
Michal Okosy 7848b959da Use relative URLs in /login redirects
Closes gh-7273
2024-12-17 22:35:41 -07:00
Josh Cummings 27c2a8ad11
Add Serializable Compatibility to Web Authentication Exceptions
Issue gh-16276
2024-12-17 13:05:23 -07:00
Yoshikazu Nojima d7d5253607 Change attestation in PublicKeyCredentialCreationOptions to none
The attestation option in PublicKeyCredentialCreationOptions is a
parameter that controls whether to request attestation from the security key.
However, Spring Security Passkeys currently doesn't implement attestation verification.
Therefore, requesting attestation is unnecessary.
Specifying `direct` to request attestation may trigger browsers to
display additional privacy related dialog to users, so it is best to
avoid specifying `direct` unnecessarily.
2024-12-11 17:18:18 -06:00
Rob Winch cb4c7e5886 Merge branch '6.3.x'
Closes gh-16261
2024-12-11 15:48:18 -06:00
Rob Winch 6a0b683e60 StrictFirewallHttpRequest.buid returns StrictFirewallHttpRequest
Closes gh-16069
2024-12-11 15:46:31 -06:00
Josh Cummings 4cbaabb239 Added Testing
Issue gh-16177
2024-12-10 14:09:46 -07:00
DingHao f565b23b51 Restore Method Parameter Inheritance Support
Closes gh-16177
2024-12-10 14:09:46 -07:00
12OneTwo12 d39e329234 Add @inheritDoc to sessionIdChanged method
Closes gh-16211
2024-12-05 12:31:47 -07:00
Josh Cummings d3a95c5c1e
Merge branch '6.3.x' 2024-12-05 09:52:55 -07:00
Josh Cummings 0f85da77be
Merge branch '6.2.x' into 6.3.x
Closes gh-16219
2024-12-05 09:52:32 -07:00
Josh Cummings 96a9cf0d2d
Restore Previous Behavior for Servlet 5
Closes gh-16173
2024-12-05 09:52:06 -07:00
Rob Winch 9c3b11914d webauthn registerCredential returns transports
The webauthn support previously did not pass the transports to webauthn4j.
This meant that the result of
Webauthn4jRelyingPartyOperations.registerCredential did not have any
transports either.

This commit ensures that the transports are passed to the webauth4j lib
and then returned in the result of registerCredential.

Closes gh-16084
2024-12-04 15:22:26 -06:00
DingHao dc82a6e97e Remove the cache since UniqueSecurityAnnotationScanner has cached annotations internally 2024-12-04 09:18:12 -07:00
Daniel Garnier-Moiroux 46fe0124ba Add RuntimeHints for webauthn Javascript resource 2024-11-25 13:06:50 -06:00
Joe Grandja c2cfe92a02 Merge branch '6.3.x' 2024-11-18 05:16:16 -05:00
Joe Grandja fa5fc6dd62 Fix checkstyle errors for toLower/toUpperCase usage 2024-11-18 04:56:17 -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
Steve Riesenberg 285d16b046
Polish IpAddressMatcher
(cherry picked from commit 83a79159b8)
2024-11-15 10:17:39 -06:00
Steve Riesenberg ddf4542a9e
Add hasText assertion to IpAddressMatcher constructor
Issue gh-15527

(cherry picked from commit 3a29819651)
2024-11-15 10:17:39 -06:00
Steve Riesenberg 554df6fab6
Fix NPE in IpAddressMatcher
Closes gh-15527

(cherry picked from commit 52de894c3c)
2024-11-15 10:17:38 -06:00
Steve Riesenberg 83a79159b8
Polish IpAddressMatcher 2024-11-15 09:33:31 -06:00
Steve Riesenberg 3a29819651
Add hasText assertion to IpAddressMatcher constructor
Issue gh-15527
2024-11-15 09:33:31 -06:00
Steve Riesenberg 52de894c3c
Fix NPE in IpAddressMatcher
Closes gh-15527
2024-11-15 09:33:30 -06:00
Daniel Garnier-Moiroux a1526361b6 webauthn: introduce DefaultResourcesFilter#webauthn 2024-11-14 12:11:43 -06:00
nomoreFt 8f1c892fb7 Remove unnecessary parentheses and add static final field 2024-11-13 15:06:58 -06:00
DingHao 055ec57737 Fix not exist class in WebFilterChainProxy java doc 2024-11-07 13:03:49 -07:00
Josh Cummings f46e56de78 Improve Error Message for Conflicting Filter Chains
Closes gh-15874
2024-11-07 13:01:16 -07:00
Tran Ngoc Nhan 571c7c81a4 Fix typo 2024-11-04 10:23:38 -06:00
Tran Ngoc Nhan ab93541926 Simplify condition in some methods 2024-10-25 13:42:33 -07:00
Tran Ngoc Nhan e76de931ce Polish Optional usage 2024-10-25 13:42:33 -07:00
Tran Ngoc Nhan ffed4ea1dc Polish diamond usage 2024-10-25 13:42:33 -07:00
Josh Cummings 981fbd5c2c Polish Tests
Closes gh-14768
2024-10-24 20:51:34 -07:00
Josh Cummings 6dbbe89b83
Merge remote-tracking branch 'origin/6.3.x' 2024-10-24 21:48:10 -06:00
DingHao 308e408b13 Polish DelegatingAuthenticationConverter 2024-10-24 20:47:46 -07:00
Josh Cummings cf03f2fed9
Merge branch '6.3.x' 2024-10-24 11:57:13 -06:00
Josh Cummings 5048a68ab7
Merge branch '6.2.x' into 6.3.x
Closes gh-15986
2024-10-24 11:56:41 -06:00
Josh Cummings addc7c53b2
Merge branch '5.8.x' into 6.2.x
Closes gh-15985
2024-10-24 11:56:16 -06:00
DingHao 1399a82ea9 Return Null Request When Cookie Is Malformed
Closes gh-15905
2024-10-24 10:55:36 -07:00
Rob Winch fc5719d8d6 Merge branch '6.3.x'
Add Firewall for WebFlux

Closes gh-15967
2024-10-21 12:11:42 -05:00
Joe Grandja ec38848b20 Fix invalid windows character 2024-10-21 11:34:56 -04:00
Rob Winch 1528c421bd Merge branch '6.2.x' into 6.3.x
Add Firewall for WebFlux

Closes gh-15967
2024-10-21 09:43:48 -05:00
Rob Winch 0e257b56ce Add Firewall for WebFlux
Closes gh-15967
2024-10-21 09:42:24 -05:00
Rob Winch 542071b1f8 Merge Add Firewall for WebFlux
Closes gh-15967
2024-10-21 08:56:42 -05:00
Rob Winch 4ce7cde155 Add Firewall for WebFlux
Closes gh-15967
2024-10-21 08:46:13 -05:00
Rob Winch f689257dc4 Fix unused import 2024-10-21 00:28:57 -05:00
Rob Winch 8a0a5e2647 Format 2024-10-21 00:17:51 -05:00
Rob Winch c461abd5da Remove unnecessary WebauthnJackson2Module usage
HttpMessageConverterAuthenticationSuccessHandler does not need to use
WebauthnJacksonModule
2024-10-21 00:16:31 -05:00
Rob Winch 6d7df007dd Remove non-ascii characters
Attempt fix windows format error
2024-10-21 00:15:58 -05:00
Rob Winch 5736f0897e Remove imports for Javadoc Only Usage 2024-10-21 00:08:12 -05:00
Rob Winch 0bb406aaab Run format again 2024-10-20 23:35:50 -05:00
Rob Winch 7f26e54d07 Remove §
See if this fixes format in windows
2024-10-20 23:30:40 -05:00
Rob Winch b0e8730d70 Add Passkeys Support
Closes gh-13305
2024-10-20 22:54:53 -05:00
Josh Cummings 472c315ac3
Add Since to setSessionAuthenticaitonStrategy
Issue gh-2253
2024-10-15 15:09:36 -06:00
xhaggi 7f537241e7 Use SessionAuthenticationStrategy for Remember-Me authentication
Closes gh-2253
2024-10-15 14:07:07 -07:00
Max Batischev d37d41c130 Polish One-Time Token API Names and Doc
The names of variables and methods have been adjusted in accordance with the names of the one-time token login API components.

Issue gh-15114
2024-10-15 14:04:56 -07:00
Josh Cummings c40334317d
Polish One-Time Token Component Names
Aligning parts of speech so that names are using nouns/verbs
where comparable components are using nouns/verbs.

Issue gh-15114
2024-10-14 14:07:47 -06:00
kwonyonghyun b8aa78829c Improve readability of empty collection checks 2024-10-14 12:16:39 -07:00
Tran Ngoc Nhan 31bdaf720d Remove redundant keyword 2024-10-14 11:51:35 -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
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
Max Batischev de104e22b7 Update javaDoc for DefaultOneTimeTokenSubmitPageGeneratingFilter 2024-10-02 15:31:43 -05:00
John Niang 7fcb42b537 Fix typo of createDefaultRequestMacher in WebSessionServerRequestCache
createDefaultRequestMacher -> createDefaultRequestMatcher
2024-09-30 15:24:40 -07:00
Marcus Hert Da Coregio a88a7744ed Require GeneratedOneTimeTokenHandler on constructor
Issue gh-15114
2024-09-17 08:21:26 -03:00
Daniel Garnier-Moiroux 7e41785dfc Remove trailing spaces in default UIs
- Default UIs had blank lines with only spaces. These get deleted by the
  spring-javaformat plugin. In order to avoid this behavior, an extra \s
  had been inserted in the tests. The reason for those \s is not obvious.
- This commit cleans up the \s but changing the HTML templates.
2024-09-11 10:44:45 -07:00
Daniel Garnier-Moiroux 98975a9b83 Add runtime hints for CSS resource 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux 2405a5b680 Remove CssUtils 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux c1b9035544 Use static CSS in OneTimeToken default UI 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux e958ff2d4a Use static CSS in reactive default UI 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux 45d53973ab Serve static content (css, js) for reactive default UIs from DefaultResourcesWebFilter 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux 11616a1d78 Use static CSS in servlet default UI 2024-09-10 12:46:13 -07:00
Daniel Garnier-Moiroux c5c5cd5ed0 Serve static content (css, js) for default UIs from DefaultResourcesFilter 2024-09-10 12:46:13 -07:00
Marcus Hert Da Coregio 2ff29dc229 Throw AuthorizationDeniedException when AuthorizationResult is available
Closes gh-15706
2024-09-10 09:14:50 -03:00
Daniel Garnier-Moiroux 4660e042d9 Remove unused <script> and <noscript> tags in One-Time-Token submit page 2024-09-06 09:13:30 -03:00
Daniel Garnier-Moiroux 528d739a60 Use contextPath in One-Time-Token default submit UI 2024-09-06 09:13:30 -03:00
Daniel Garnier-Moiroux ef31ae1a98 Render One Time Token UIs using lightweight templates 2024-09-05 15:02:42 -07:00
Daniel Garnier-Moiroux a642a1bb66 Render reactive default UIs using lightweight templates 2024-09-05 15:02:42 -07:00
Daniel Garnier-Moiroux 8d47906191 Render default UIs using lightweight templates 2024-09-05 15:02:42 -07:00
Daniel Garnier-Moiroux 33495441b5 Hardcode ott-username input name in DefaultLoginPageGeneratingFilter
- GenerateOneTimeTokenFilter uses `"username"`, the default UI should use the same parameter name
2024-09-05 09:42:45 -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
Marcus Hert Da Coregio 5c56bddbdd Polish log message 2024-09-03 09:43:37 -03:00
Florian Bernard 008cbc2cae Add cookie customizer to CookieRequestCache and CookieServerRequestCache
Issue gh-15204
2024-09-03 09:41:30 -03: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
Ilpyo-Yang 095929f6e8 Include FilterChain in SessionInformationExpiredEvent
Closes gh-14077
2024-08-29 13:12:27 -03:00
DingHao ed16c86115 Improve @CurrentSecurityContext meta-annotations
Closes gh-15551
2024-08-13 13:18:15 -06:00
Josh Cummings 08b8b09066
Update Copyright
Issue gh-15286
2024-08-10 11:48:14 -06:00
DingHao 2c02d8aec7 Update Copyright 2024-08-10 11:46:51 -06:00
DingHao 9aaf959400 Improve @AuthenticationPrincipal meta-annotations
Closes gh-15286
2024-08-10 11:46:51 -06:00
Daniel Garnier-Moiroux bc8ba7f3b7 Inline CSS for default login and logout page
- Remove the dependency on Bootstrap CSS. Results in faster load times, no failures
  in air-gapped or offline scenarios, and no dependency on an external CDN that may
  go away some day.
2024-08-05 09:27:18 -05:00
baezzys 4169c0cf36 Publish Constants for Firewall Header and Parameter Predicates
Introduced public static final Predicates for allowed header names,
header values, parameter names, and parameter values for building
expressions.

Closes gh-13639
2024-07-18 17:24:38 -07:00
Josh Cummings 773e86701e
Add ParameterRequestMatcher
Closes gh-15342
2024-07-02 15:17:54 -06:00
Josh Cummings 9f0b2a29ee
Merge branch '6.3.x' 2024-07-01 11:43:19 -06:00
Josh Cummings 8917cdb404
Improve Performance of IPv4 Check
Closes gh-15324
2024-07-01 11:40:28 -06:00
Max Batischev 44f9396bad Add support remember-me cookie customization
Closes gh-14990
2024-06-05 11:47:20 -03:00
Steve Riesenberg 1e4aff2bdb
Merge branch '6.2.x' into 6.3.x
Closes gh-15186
2024-05-31 19:02:31 -05:00
Steve Riesenberg 3fc7b6e921
Merge branch '5.8.x' into 6.2.x
Closes gh-15185
2024-05-31 18:34:14 -05:00
Steve Riesenberg dcb8c563e8
Fix ArrayIndexOutOfBoundsException
Issue gh-13310
Closes gh-15184
2024-05-31 18:12:21 -05:00
Josh Cummings 7288fecc24
Verify ipAddress Not A Hostname
Closes gh-15172
2024-05-30 17:50:56 -06:00
Josh Cummings 6956ed693c
Polish DefaultSecurityFilterChain Logs
Reuse String manipulation logic in Spring Framework
Compress whitespace

Closes gh-15096
2024-05-23 12:20:14 -06:00
baezzys ac9bdf5cbf Change DefaultSecurityFilterChain logging to DEBUG level and simplify filter log
- Change DefaultSecurityFilterChain logging level from INFO to DEBUG to align with FilterChainProxy.
- Log filter class names instead of the toString() of filter.
2024-05-23 12:02:35 -06:00
Marcus Hert Da Coregio 0acf6cca6e Merge branch '6.2.x'
Closes gh-15149
2024-05-23 14:05:06 -03:00
Marcus Hert Da Coregio 47ad405063 Merge branch '5.8.x' into 6.2.x
Closes gh-15148
2024-05-23 14:04:35 -03:00
Marcus Hert Da Coregio c7b739eb3f Fix broken link to jaspan article
Closes gh-14358
2024-05-23 14:04:10 -03:00
Joaquin Santana 927840fe88 Do Not Invalidate Current Session When It Is Registered
Closes gh-15066
2024-05-14 10:01:54 -03:00
Marcus Hert Da Coregio 08f11f06ab Revert unnecessary commits from main
Issue gh-15016
2024-05-08 13:49:18 -03:00
Marcus Hert Da Coregio b3c7f3ff19 Rename CompromisedPasswordCheckResult to CompromisedPasswordDecision
Issue gh-7395
2024-04-30 08:38:03 -03:00
Josh Cummings 36cd48474d
Merge branch '6.2.x' 2024-04-17 17:01:24 -06:00
Josh Cummings 3887f33f81
Merge branch '6.1.x' into 6.2.x 2024-04-17 17:01:03 -06:00
Josh Cummings 61df8e493d
Merge branch '5.8.x' into 6.1.x 2024-04-17 17:00:24 -06:00
Josh Cummings 470e2c5c97
Address Build Issues
Issue gh-14837
2024-04-17 16:59:40 -06:00
Josh Cummings ff473313df
Merge branch '6.2.x' 2024-04-17 16:45:47 -06:00
Josh Cummings f16a434f0c
Merge branch '6.1.x' into 6.2.x
Closes gh-14922
2024-04-17 16:45:30 -06:00
Josh Cummings ade45771b2
Merge branch '5.8.x' into 6.1.x
Closes gh-14921
2024-04-17 16:44:50 -06:00
Josh Cummings 657760af5b
Improve Logging
Closes gh-14837
2024-04-17 16:43:29 -06:00
Marcus Hert Da Coregio 61eba00654 Move HaveIBeenPwnedRestApiPasswordChecker to spring-security-web
Prior to this commit, the implementation was placed in spring-security-core, however we do not want to introduce a dependency on spring-web and spring-webflux for that module.

Issue gh-7395
2024-04-10 14:58:01 -03:00
DingHao f689f3c3fc Fix continueOnError default value in java doc
Closes gh-14870
2024-04-10 13:28:06 -03:00
erie0210 7faae83ebb docs: fix typo 2024-04-08 14:44:12 -03:00
Josh Cummings c439cfef0f
Merge branch '6.1.x' into 6.2.x 2024-03-21 17:24:34 -06:00
Thomas Hagelberg ce9f1821b1
Improve logging in AuthenticationWebFilter
Closes #14091
2024-03-21 17:24:10 -06:00
Thomas Hagelberg 091976fffb Improve logging in AuthenticationWebFilter
Closes #14091
2024-03-21 17:22:35 -06:00
ruabtmh c0928bf198 Add DelegatingAuthenticationConverter
Closes gh-14644
2024-03-13 14:33:45 -06:00
DingHao 8885707674 Add DelegatingServerAuthenticationConverter
Closes gh-14644
2024-03-05 08:21:59 -07:00
Steve Riesenberg bd345fb2a8
Polish gh-11758 2024-02-29 12:15:30 -06:00
Markus Heiden 5c5503924b
Add SwitchUserGrantedAuthorityMixIn
Closes gh-11775
2024-02-29 11:07:21 -06:00
Marcus Hert Da Coregio f8ff056eb6 Update Max Sessions on WebFlux
Delete WebSessionStoreReactiveSessionRegistry.java and gives the responsibility to remove the sessions from the WebSessionStore to the handler

Issue gh-6192
2024-02-28 10:06:45 -03:00
Marcus Hert Da Coregio a5ce8ae87f Polish Max Sessions on WebFlux
This commit changes the PreventLoginServerMaximumSessionsExceededHandler to invalidate the WebSession in addition to throwing the error, this is needed otherwise the session would still be saved with the security context. It also changes the SessionRegistryWebSession to first perform the operation on the delegate and then invoke the needed method on the ReactiveSessionRegistry

Issue gh-6192
2024-02-27 11:12:50 -03:00
Josh Cummings 4d039e515f
Merge branch '6.2.x' 2024-02-22 13:21:22 -07:00
Josh Cummings 9c48546883
Merge branch '6.1.x' into 6.2.x 2024-02-22 13:21:14 -07:00
Josh Cummings 7f106f0419
Merge branch '5.8.x' into 6.1.x 2024-02-22 13:20:29 -07:00
Christian Becker 5f80468de3 Updated copyright date 2024-02-22 13:19:05 -07:00
Christian Becker 2f762fefe1 Allow tab in HTTP header values.
Closes gh-14573
2024-02-22 13:19:05 -07:00
Marcus Hert Da Coregio 21580fd27d Merge branch '6.2.x' 2024-02-16 13:31:20 -03:00
Marcus Hert Da Coregio 15306c1007 Merge branch '6.1.x' into 6.2.x 2024-02-16 13:21:15 -03:00
Rob Winch 750cb30ce4 Add AuthenticationTrustResolver.isAuthenticated 2024-02-16 13:08:29 -03:00
Josh Cummings aa8178af65
Merge branch '6.2.x' 2024-02-07 08:53:16 -07:00
Josh Cummings 0cadabfa89
Merge branch '6.1.x' into 6.2.x
Closes gh-14568
2024-02-07 08:52:47 -07:00
Josh Cummings 75fdcd10f7
Use synchronized
Closes gh-14445
2024-02-07 08:48:49 -07:00
Marcus Hert Da Coregio 915d68e216 Remove includeExpiredSessions parameter
The reactive implementation of max sessions does not keep track of expired sessions, therefore we do not need such parameter

Issue gh-6192
2024-02-06 10:43:00 -03:00
Federico Herrera c1adeef0da Add validation IpAddressMatcher
Closes gh-13621
2024-01-30 17:16:18 -07:00
Nermin Karapandzic 6e1bcfed11 Add argument resolver for SecurityContext
Closes gh-13425
2024-01-29 17:30:38 -07:00
ahmd-nabil a808c139ad Enhance IpAddressMatcher performance
Closes gh-14493

Signed-off-by: ahmd-nabil <ahm3dnabil99@gmail.com>
2024-01-29 17:28:19 -07:00
sonallux 6df9ef5ba6 Fix wrong class name in JavaDoc
In the `ServerWebExchangeDelegatingReactiveAuthenticationManagerResolver.Builder` class the JavaDoc comments mention the wrong class name. This commit fixes this.
2024-01-19 09:29:07 -07:00
Marcus Hert Da Coregio 06278157fa Merge branch '6.2.x'
Closes gh-14471
2024-01-17 16:16:40 -03:00
Marcus Hert Da Coregio 148e0b41d2 Merge branch '6.1.x' into 6.2.x
Closes gh-14470
2024-01-17 16:16:27 -03:00
Marcus Hert Da Coregio ce5f5e6e33 Add native hint for CsrfTokenRequestAttributeHandler$SupplierCsrfToken
Closes gh-14397
2024-01-17 16:14:59 -03:00
Josh Cummings d7a9a19161
Merge branch '6.2.x' 2023-12-18 11:47:39 -07:00
Josh Cummings 03e48905c7
Merge branch '6.1.x' into 6.2.x
Closes gh-14346
2023-12-18 11:47:23 -07:00
Josh Cummings b855ccdb09
Merge branch '5.8.x' into 6.1.x
Closes gh-14345
2023-12-18 11:46:04 -07:00
Josh Cummings eaaa813ede
Fix header value typo
Closes gh-11948
2023-12-18 10:42:50 -07:00
Josh Cummings 8a34e32a24 Polish IpAddressAuthorizationManager
Closes gh-10577
2023-12-15 16:54:58 -07:00
brunodmartins ea7c720ce7 Add hasIpAddress to Kotlin DSL
Closes gh-10577
2023-12-15 16:54:58 -07:00
Rob Winch 465642828a Merge branch '6.2.x'
Add HandlerMappingIntrospector Caching

Closes gh-14333
2023-12-14 16:11:08 -06:00
Rob Winch 6dd29520b0 Merge branch '6.1.x' into 6.2.x
Add HandlerMappingIntrospector Caching

Closes gh-14332
2023-12-14 16:10:50 -06:00
Rob Winch 70dfb3d391 Add HandlerMappingIntrospector Caching
Closes gh-14128
2023-12-14 16:08:36 -06:00
Marcus Da Coregio 57ab15127a Add Max Sessions on WebFlux
Closes gh-6192
2023-12-11 09:48:34 -03:00
Josh Cummings cad6689659
Merge remote-tracking branch 'origin/6.1.x' 2023-11-15 09:28:28 -07:00
Josh Cummings 187ef0e1a8
Merge branch '6.0.x' into 6.1.x
Closes gh-14146
2023-11-15 09:26:59 -07:00
Josh Cummings 18530c8dcd
Add PhasedObservation
Observation itself does not protect against start and stop being called
multiple times. This commit aligns all observation instances to instead
use an implementation that does have these guards in place.

Closes gh-14082
2023-11-15 09:22:41 -07:00
Marcus Hert Da Coregio e920bfb3a2 Merge branch '6.1.x'
Closes gh-14138
2023-11-14 10:56:57 -03:00
Marcus Hert Da Coregio 921afba134 Use addCookie instead of addHeader in CookieCsrfTokenRepository
By using addCookie we make sure that configured Tomcat's CookieProcessors are invoked

Closes gh-14131
2023-11-14 10:56:24 -03:00
Josh Cummings 621ab3e7cb
Merge remote-tracking branch 'origin/6.1.x' 2023-11-07 17:33:09 -07:00
Josh Cummings bcef8f98aa
Merge branch '6.0.x' into 6.1.x
Closes gh-14117
2023-11-07 17:32:51 -07:00
Josh Cummings 4990373cf9
Merge branch '5.8.x' into 6.0.x
Closes gh-14116
2023-11-07 17:22:36 -07:00
Josh Cummings 52675c80b3
Check For Null Exception Message
Closes gh-13768
2023-11-07 17:19:35 -07:00
Steve Riesenberg d0a5ada2da
Fix formatting 2023-10-31 15:38:44 -05:00
Steve Riesenberg 447f40949c
Revert unnecessary merges on 6.1.x
This commit removes unnecessary main-branch merges starting from
9f8db22b77 and adds the following
needed commit(s) that were made afterward:

- 4d6ff49b9d
- ed6ff670d1
- c823b00794
- 44fad21363
2023-10-31 15:22:15 -05:00
Steve Riesenberg 9db33f33c7
Revert unnecessary merges on 6.0.x
This commit removes unnecessary main-branch merges starting from
8750608b5b and adds the following
needed commit(s) that were made afterward:

- 5dce82c48b
2023-10-31 15:11:45 -05:00
Martin Lukas 318dec845a Update obsolete comment reference (former name of the class) 2023-10-31 09:48:43 -03:00
Josh Cummings ed6ff670d1 Add Test
Issue gh-13660
2023-10-30 17:49:58 -06:00
Duje 4d6ff49b9d Removed dash from micrometer metric label
Closes gh-13660
2023-10-30 17:49:58 -06:00
Josh Cummings 5dce82c48b
Close Both Observations
Depending on when a request is cancelled, the before and after observation
starts and stops may be called out of order due to the order in
which their doOnCancel handlers are invoked.

To address this, the before filter-wrapper now always closes both the
before observation and the after observation. Since the before filter-
wrapper wraps the entire request, this ensures that either that was
started is stopped, and either that has not been started yet cannot
inadvertently be started by any unexpected ordering of events that
follows.

Closes gh-14031
2023-10-30 16:32:11 -06:00
Mark Chesney d9399dfda0 Allow redirect status code to be customized
Closes gh-12797
2023-10-16 13:55:52 -06:00
Mark Chesney 2638555e53 Allow redirect strategy to be customized
Closes gh-12795
2023-10-16 13:55:52 -06:00
Marcus Da Coregio 7e9d707c7d Allow customize the AuthenticationConverter in BasicAuthenticationFilter
Closes gh-13988
2023-10-11 08:42:45 -03:00
Josh Cummings cef882b84e
Merge branch '6.1.x' 2023-10-02 18:11:50 -06:00
Seongguk Jeong d8eadd2207 Replace deprecated method
Replace HttpMethod.resolve() to HttpMethod.valueOf()
2023-10-02 17:49:39 -06:00
Marcus Da Coregio 07b6c451fd Merge branch '6.1.x'
Closes gh-13884
2023-09-29 11:47:38 -03:00
Marcus Da Coregio 8adfc9b463 Merge branch '6.0.x' into 6.1.x
Closes gh-13883
2023-09-29 11:46:48 -03:00
Marcus Da Coregio 92c82191c9 Merge branch '5.8.x' into 6.0.x
Closes gh-13882
2023-09-29 11:46:00 -03:00
Marcus Da Coregio 64e2a2ff8b Apply updated Code Style
Closes gh-13881
2023-09-29 11:44:32 -03:00
Steve Riesenberg ff374935fb
Verify ReactorContext when using Virtual Threads
Closes gh-12791
2023-09-25 12:01:31 -05:00
Steve Riesenberg ecf8467cac
Fix tests on JDK 21
Issue gh-12790
Issue gh-13811
2023-09-19 10:39:04 -05:00
Steve Riesenberg d48b8697bd
Fix mockito usage
Issue gh-13810
2023-09-19 10:39:04 -05:00
Steve Riesenberg d6ff58bb7f
Update Mockito to 5.5.0
Closes gh-13810
2023-09-19 10:39:03 -05:00
Marcus Da Coregio a052e2effb Merge branch '6.1.x'
Closes gh-13821
2023-09-14 21:26:05 +01:00
Marcus Da Coregio 7fcf44f8d9 Merge branch '6.0.x' into 6.1.x
Closes gh-13820
2023-09-14 21:25:48 +01:00
Marcus Da Coregio 18e88366d2 Resolve The matchingRequestParameterName From The Query String
Prior to this commit, the ServletRequest#getParameter method was used in order to verify if the matchingRequestParameterName was present in the request. That method has some side effects like interfering in the execution of the ServletRequest#getInputStream and ServletRequest#getReader method when the request is an HTTP POST (if those methods are invoked after getParameter, or vice-versa, the content won't be available). This commit makes that we only use the query string to check for the parameter, avoiding draining the request's input stream.

Closes gh-13731
2023-09-14 21:25:25 +01:00
Josh Cummings 2a1cf98b80 Update Copyright and Formatting
Issue gh-13615
2023-09-12 16:20:28 -06:00
Bjorn Harvold 5e715c5297 Improve StrictHttpFirewall Error Messaging
Better error strings for invalid header and parameter values.

Closes gh-13615
2023-09-12 16:20:28 -06:00
Tim te Beek 9df9cb5aed refactor: AssertJ best practices
Use this link to re-run the recipe: https://app.moderne.io/recipes/builder/bGVuS?organizationId=RGVmYXVsdA%3D%3D

Co-authored-by: Moderne <team@moderne.io>
2023-09-12 16:18:14 -06:00
Marcus Da Coregio 36a488a360 Merge branch '6.1.x'
Closes gh-13797
2023-09-12 16:22:31 +01:00
Marcus Da Coregio b80a1de9fa Merge branch '6.0.x' into 6.1.x
Closes gh-13796
2023-09-12 16:22:04 +01:00
Marcus Da Coregio db37bdfe94 Merge branch '5.8.x' into 6.0.x
Closes gh-13795
2023-09-12 16:21:48 +01:00
Marcus Da Coregio ce012a4661 CookieRequestCache Should Preserve Request Locale
Closes gh-13792
2023-09-12 16:21:27 +01:00
Marcus Da Coregio d23b231ac3 Merge branch '6.1.x'
Closes gh-13760
2023-08-31 10:16:30 -03:00
Marcus Da Coregio b64d5395c5 Merge branch '6.0.x' into 6.1.x
Closes gh-13759
2023-08-31 10:16:07 -03:00
Marcus Da Coregio 629540f9d8 Merge branch '5.8.x' into 6.0.x
Closes gh-13758
2023-08-31 10:12:59 -03:00
Marcus Da Coregio 96d1763fc4 WWW-Authenticate header should not be added twice
Closes gh-13737
2023-08-31 10:07:10 -03:00
Josh Cummings 0d70a7f508
Merge branch '6.1.x'
Closes gh-13748
2023-08-28 17:04:25 -06:00
Josh Cummings a4d8c62ad7
withHttpOnlyCookie defaults to false
Closes gh-13659
2023-08-28 16:58:28 -06:00
Steve Riesenberg 985e569685
Polish gh-13608 2023-08-10 17:30:54 -05:00
Olivier Vanekem 6353d90047
Add integrity attribute for signin.css
Closes gh-13486
2023-08-10 17:30:52 -05:00
Josh Cummings 82c0ddc56d Polish
- Add Reactive equivalent
- Update copyright

Issue gh-13310
2023-08-07 17:57:02 -06:00
Kevin2Jordan e21da061d3 Suppress ArrayIndexOutOfBoundsException in XorCsrfTokenRequestAttributeHandler
Closes gh-13310
2023-08-07 17:57:02 -06:00
Josh Cummings 75e0068925
Merge branch '6.1.x' 2023-08-07 16:03:55 -06:00
Seongguk Jeong bcd4dcc15c Refactor equals method
Using the accessor method for fields instead of directly access
2023-08-07 16:00:18 -06:00
Seongguk Jeong ea19f82b8a Using pattern matching for instanceof 2023-08-07 16:00:18 -06:00
Josh Cummings beab899c3d
Fix Import Order 2023-08-07 15:56:38 -06:00
1993heqiang 94c80bc2c6 Remove redundant code. 2023-08-07 15:01:52 -06:00
Jonas Bamberger 0d4e3f939a Clean up SavedRequestAwareWrapper and related test 2023-08-07 14:56:39 -06:00
Jonas Bamberger 07f737b989 Return content-type from saved request 2023-08-07 14:56:39 -06:00
Marcus Da Coregio 8f5793afb1 Merge branch '6.1.x' 2023-07-17 09:17:10 -03:00
Marcus Da Coregio aaa31312bd Merge branch '6.0.x' into 6.1.x 2023-07-17 09:16:45 -03:00
Marcus Da Coregio cbef118026 Merge branch '5.8.x' into 6.0.x 2023-07-17 09:16:20 -03:00
Marcus Da Coregio a939f17890 Merge branch '5.7.x' into 5.8.x 2023-07-17 09:15:56 -03:00
Marcus Da Coregio fe9bc26bdc Merge branch '5.6.x' into 5.7.x 2023-07-17 09:13:28 -03:00
Marcus Da Coregio 7813a9ba26 Use default PathPatternParser instance 2023-07-17 09:12:28 -03:00
Josh Cummings b0022a0ae8
Update Mockito Usage
Issue gh-13542
2023-07-14 18:44:34 -06:00
Josh Cummings 6c3636d780
Update Removed Usages
Issue gh-13544
2023-07-14 18:38:58 -06:00
Josh Cummings 1637b5c071
Merge branch '6.1.x'
Closes gh-13483
2023-07-10 16:18:02 -06:00
Josh Cummings c58e0dd113
Merge branch '6.0.x' into 6.1.x
Closes gh-13482
2023-07-10 16:17:13 -06:00
Josh Cummings 83c0f4231e
Merge branch '5.8.x' into 6.0.x
Closes gh-13481
2023-07-10 16:13:04 -06:00
Josh Cummings 40d61743b9
Replace Existing Continue Parameter
Closes gh-13438
2023-07-10 16:12:05 -06:00
Marcus Da Coregio 72698680e2 Merge branch '6.1.x'
Closes gh-13466
2023-07-07 14:36:08 -03:00
Marcus Da Coregio 230977d7ef Merge branch '6.0.x' into 6.1.x
Closes gh-13465
2023-07-07 14:35:52 -03:00
Marcus Da Coregio 863aa5f65f Fix Documented Default Value for AuthorizationFilter properties
Closes gh-13456
2023-07-07 14:35:11 -03:00
Marcus Da Coregio 2dee6218b5 Create NoOpAccessDeniedHandler
Closes gh-13109
2023-06-27 14:44:40 -03:00
Marcus Da Coregio e35faa84f7 Create NoOpAuthenticationEntryPoint
Closes gh-13107
2023-06-27 14:44:40 -03:00
Claudio Nave 52e12ad64b Replace deprecated methods 2023-06-22 13:19:55 -06:00
Evgeniy Cheban 0cefb27928 Simplify RequestMatcherDelegatingAuthorizationManager.Builder matcher registration
Closes gh-11624
2023-06-22 16:07:30 -03:00
Cedomir Igaly dd469ac2a0 Assert is missing object. It was useless before Spring Framework 6.1, and will not compile on 6.1 2023-06-22 12:11:40 -06:00
Krzysztof Krason 9b603b99ab Using modern Java features 2023-06-22 11:24:25 -06:00
Kandaguru17 7e01ebdd92 Remove LazyCsrfTokenRepository usage
Closes gh-13194
2023-06-22 11:23:35 -06:00
Josh Cummings aeeed6c368
Merge branch '6.0.x'
Closes gh-13279
2023-06-05 12:49:09 -06:00
Josh Cummings 45683349a4
Merge branch '5.8.x' into 6.0.x
Closes gh-13278
2023-06-05 12:48:43 -06:00
Josh Cummings 9ac286e8ea
Merge branch '5.7.x' into 5.8.x
Closes gh-13231
2023-06-05 12:47:23 -06:00
Christoph Zuleger 06e58e4c34 Update JavaDoc of BasicAuthenticationFilter
Remove deprecated hint to use Digest Auth in favor of Basic Auth.
2023-06-05 12:46:30 -06:00
Marcus Da Coregio bb7c7d3554 Merge branch '6.0.x' 2023-05-24 15:00:44 -03:00
Marcus Da Coregio ce5aa9e694 Merge branch '5.8.x' into 6.0.x 2023-05-24 15:00:17 -03:00
Marcus Da Coregio f8e39336cb Merge branch '5.7.x' into 5.8.x 2023-05-24 14:59:27 -03:00
Marcus Da Coregio a53cbb838b Polish
Issue gh-13155
2023-05-24 14:59:16 -03:00
joerg-richter-5234 8287289bcb Fix XContentTypeOptionsServerHttpHeadersWriter
set constant value to X-Content-Type-Options

Closes gh-13155
2023-05-24 14:59:14 -03:00
Josh Cummings 17a58194c1
Merge branch '6.0.x' 2023-05-18 09:33:12 -06:00
Josh Cummings 4c5bf3bdf5 Polish
Use StringUtils#hasText

PR gh-13179
2023-05-18 09:17:02 -06:00
Dennis Frommknecht af233a2a00 Use consistent list of micrometer tags in web observation handler
The tag `spring.security.reached.filter.name` is only set if a
filter-name is available, otherwise the tag is omitted entirely. This
leads to issues with metric-exporters that don't support dynamic tags,
but rather expect tag-names of a metric to be always the same. The most
prominent example is the Prometheus-exporter.

Instead of omitting the tag if no filer-name is set, a none-value is
applied instead, making the tag-list consistent in all cases

Closes gh-13179
2023-05-18 09:17:02 -06:00
Josh Cummings a4e13c520b
Merge branch '6.0.x'
Closes gh-13150
2023-05-10 16:15:13 -06:00
Josh Cummings e033e347b4
Remove Redundant Close
Closes gh-12787
2023-05-10 16:12:34 -06:00
Josh Cummings cdcc2d31d1
Merge branch '6.0.x'
Closes gh-13145
2023-05-08 14:19:15 -06:00
Josh Cummings 5d903b5b71
Enforce start happens-before stop
Closes gh-13133
2023-05-08 14:07:05 -06:00
Steve Riesenberg 07b884a2cb
Add Set-Cookie header value for XSRF-TOKEN
This commit fixes an issue where using HttpServletResponse#setHeader
causes previous header values to be overwritten.

Closes gh-13075
2023-04-25 15:15:02 -05:00
Marcus Da Coregio 04b3d07319 Merge branch '6.0.x' 2023-04-17 07:30:54 -03:00
Marcus Da Coregio a484044591 Merge branch '5.8.x' into 6.0.x 2023-04-17 07:29:42 -03:00
Marcus Da Coregio 6cf8c53aaa Merge branch '5.7.x' into 5.8.x 2023-04-17 07:16:47 -03:00
Marcus Da Coregio 2d52fb8e4b Clear Repository on Logout 2023-04-17 06:47:57 -03:00
Marcus Da Coregio 01d1e20dc3 Deprecate shouldFilterAllDispatcherTypes
Closes gh-12138
2023-04-13 15:05:10 -03:00
Josh Cummings 02345b97ff Polish Observation Event Names
Issue gh-12811
2023-04-11 19:10:27 -06:00
bvn13 59ba7f5388 Shorten Observation Event Names
Closes gh-12811
2023-04-11 19:10:27 -06:00
Josh Cummings b3c83440bd
Merge branch '6.0.x'
Closes gh-13001
2023-04-11 17:09:21 -06:00
Josh Cummings 4813ec1e09
Merge branch '5.8.x' into 6.0.x
Closes gh-13000
2023-04-11 17:08:54 -06:00
Josh Cummings dad1fba1bf
Merge branch '5.7.x' into 5.8.x
Closes gh-12999
2023-04-11 17:02:16 -06:00
Christian Marck 442faccb5f
Avoid NPE in FilterInvocation
Handle unknown headers in dummy request wrapper.

Closes gh-12998
2023-04-11 17:01:59 -06:00
Josh Cummings d3c22a0de3
Merge branch '6.0.x'
Closes gh-12934
2023-03-27 16:31:29 -06:00
Josh Cummings 6db2b0dcd0
Align Filter Chain Observability Lineage
Closes gh-12849
2023-03-27 16:30:32 -06:00
Christian Schuster 6791f3208e Add factory class for RequestMatcher composition
Closes gh-12751
2023-03-27 16:26:23 -06:00
Marcus Da Coregio ff06108572 Merge branch '6.0.x'
Closes gh-12920
2023-03-22 08:55:38 -03:00
Marcus Da Coregio 177514b6c5 Merge branch '5.8.x' into 6.0.x
Closes gh-12919
2023-03-22 08:54:57 -03:00
Marcus Da Coregio 8d664bc4c2 DelegatingSecurityContextRepository should call loadContext
Closes gh-12314
2023-03-22 08:53:19 -03:00
Josh Cummings 5e8c68187b
Merge branch '6.0.x' 2023-03-20 16:29:08 -06:00
Josh Cummings 3fbb64db96
Fix javax package 2023-03-20 16:28:52 -06:00
Josh Cummings 229325a0bb
Merge branch '5.8.x' into 6.0.x 2023-03-20 16:22:23 -06:00
Josh Cummings a74008cc79
Merge branch '5.7.x' into 5.8.x 2023-03-20 16:20:46 -06:00
twosom 3d7e22a4e9 Add test to SimpleUrlAuthenticationSuccessHandlerTests 2023-03-20 16:20:30 -06:00
Josh Cummings 391f00af1d
Merge branch '6.0.x'
Closes gh-12910
2023-03-20 16:10:57 -06:00
Josh Cummings 6935045172
Merge branch '5.8.x' into 6.0.x
Closes gh-12909
2023-03-20 16:10:35 -06:00
twosom abd51f7b63
Polished DefaultLoginPageGeneratingFilterTests Validation
Closes gh-12694
2023-03-20 15:31:59 -06:00
Josh Cummings 9bba1a1c6b Propagate Variables in And and OrRequestMatcher
Closes gh-12847
2023-03-17 18:00:02 -06:00
Marcus Da Coregio dd9ab953e3 Merge branch '6.0.x'
Closes gh-12837
2023-03-07 13:29:07 -03:00
Marcus Da Coregio cdc0fa0e5b Merge branch '5.8.x' into 6.0.x
Closes gh-12836
2023-03-07 13:28:31 -03:00
Marcus Da Coregio 2e92dad761 Merge branch '5.7.x' into 5.8.x
Closes gh-12835
2023-03-07 13:27:57 -03:00
Marcus Da Coregio 84cca81edf Use HttpSessionSecurityContextRepository by default in SwitchUserFilter
Closes gh-12834
2023-03-07 13:27:18 -03:00
Josh Cummings 69606fd5a2
Merge branch '6.0.x'
Closes gh-12831
2023-03-06 12:47:55 -07:00
Josh Cummings c06e604278
Address Observability Thread Safety
Closes gh-12829
2023-03-06 12:46:23 -07:00
twosom 28d353d731 Extract errorMessage from generateLoginPageHtml 2023-02-15 17:18:26 -07:00
twosom ae23e3f5f4 Use instanceof pattern matching in initAuthFilter 2023-02-15 17:18:26 -07:00
twosom 99eacf2f0b Change private static method to private methods 2023-02-15 17:18:26 -07:00
Josh Cummings 1ca4781923
Merge branch '6.0.x' 2023-02-14 08:25:29 -07:00
Josh Cummings 8ca726f4fa
Specify query string
Issue gh-12665
2023-02-14 08:24:07 -07:00
Josh Cummings e7d65966fd
Merge branch '5.8.x' into 6.0.x
Closes gh-12671
2023-02-14 08:01:31 -07:00
Josh Cummings 0d4c619648
Include continue in query string
Closes gh-12665
2023-02-14 08:00:19 -07:00
twosom 073dab3bf6 Refactor SavedCookie for Cookie's deprecated method
Closes gh-12454
2023-02-01 12:33:45 -07:00