Issue Details (XML | Word | Printable)

Key: SEC-618
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Luke Taylor
Reporter: Luke Taylor
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Spring Security

Authentication details object should be copied to successful Authentication before ConcurrentSessionController.checkAuthenticationAllowed is called

Created: 07/Dec/07 06:31 AM   Updated: 07/Dec/07 11:22 AM   Resolved: 07/Dec/07 11:22 AM
Component/s: Core
Affects Version/s: 1.0.5
Fix Version/s: 1.0.6, 2.0.0 M1

Time Tracking:
Not Specified


 Description  « Hide
If concurrent session control is used with an authentication provider which doesn't copy the authentication details object to the successful authentication (e.g. CasAuthenticationProvider) then the check with the concurrent session controller on whether access is allowed takes place before the copyDetails method of AbstractAuthenticationManager is called. This isn't a problem with classes which extend AbstractUserDetailsAuthenticationProvider, as it copies the authentication details object itself.

The copyDetails method should probably be pulled down into ProviderManager and called before checkAuthenticationAllowed() is called. This will ensure that the details object is available even if the provider doesn't set it.

It's also not clear that we really need an AbstractAuthenticationManager at all, given how little there is in there.

No work has yet been logged on this issue.