Using a custom user service and user principal