Hi David,
Yes, it turns out that both of the snippets in my original post work fine in controllers by default. In my case, I was trying to render PageBuilder content from one Page into another by creating my own controller and requestcontext and therefore those methods were not available.
The solution to that was to get the UserId from a controller further up the chain, pass that to my controller through a model/method parameter and finally retrieve the user details from the UserInfoProvider methods.
Thanks,
James