It was indeed the SecurityContextHolderAwareRequestFilter that I wasn't using.
My filter chain was set up as ;
I added in the SecurityContextHolderAwareRequestFilter after the rememberMeAuthenticationFilter and the Principal is back!
<security:filter-chain pattern="/checkout*" filters="
The reason I moved away from the namespace was first to gain a fuller understanding of the security design but also that I need to apply certain logic everytime someone is authenticated and felt that using an authentication event listener was the best way to do it. I don't believe you can use listeners with the namespace.
Thanks again for your help.