Skip to content

Create CompositeLogoutHandler #3895

@rwinch

Description

@rwinch

We should create a CompositeLogoutHandler which allows for a List<LogoutHandler> to be injected into it. The implementation would simply iterate over all the LogoutHandler instances. Then we can leverage the CompositeLogoutHandler in places like LogoutFilter,HttpServlet3RequestFactory,SecurityContextHolderAwareRequestFilter, andConcurrentSessionFilter`

UPDATE

It would look something like:

public final class CompositeLogoutHandler implements LogoutHandler {
     private final List<LogoutHandler> logoutHandlers;

     public CompositeLogoutHandler(LogoutHandler... logoutHandlers) {
          this.logoutHandlers = Arrays.asList(logoutHandlers);
    }

    public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication ) { 
        for(LogoutHandler delegate : delegates) {
            delegate.logout(request, response, authentication);
        }
   }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: webAn issue in web modules (web, webmvc)type: enhancementA general enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions