I have been using the switch user processing filter and there are a number of features that could be added that I think may be useful. I would appreciate it if you would consider these for the future.
Firstly the user details checker is hard coded to be a AccountStatusUserDetailsChecker. It would be useful to allow control of this so that a custom UserDetailsChecker can be used (even a setter method so that the default can be overwritten in the XML config).
Secondly there is not any way to handle or respond to any exceptions that are thrown such as the UsernameNotFoundException. The issue may cross reference issue
SEC-778 where the exception mapping is going to be addressed.
Thirdly there is not a way to tell the user what went wrong via an exception message. Would it be possible to add the exception to the session like the abstract processing filter does for the logon.