Thanks Marten,
It was indeed the SecurityContextHolderAwareRequestFilter that I wasn't using.
My filter chain was set up as ;
Code:
<security:filter-chain pattern="/checkout*" filters="
securityContextPersistenceFilter,
logoutFilter,
usernamePasswordAuthenticationFilter,
rememberMeAuthenticationFilter,
anonymousAuthenticationFilter,
exceptionTranslationFilter,
filterSecurityInterceptor"/>
I added in the SecurityContextHolderAwareRequestFilter after the rememberMeAuthenticationFilter and the Principal is back!
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.