Не работал с SiteMesh в течение достаточно долгого времени, но почему вы вместо этого не используете неявный объект request
(я полагаю, что ваши страницы написаны на JSP, верно?)
<%= request.getUserPrincipal().getName() %>
А что именно не работает? Выдается исключение?