Sometimes it's handy to have a JPA-based UserDetailsService or UserDetailsManager instead of a JDBC-based one. The attached classes are abstract classes that do the boilerplate work of the UserDetailsService & UserDetailsManager implementation, defining abstract methods for subclasses to implement for the user's specific entities that represent users & groups.
Contributing since I considered it helpful, and I figured others might like to have it. It does introduce a dependency on JPA, so should probably go into some kind of separate contrib module outside of core.
Hope you likey.