userDetailsService uses service specific semantics