jsf检查用户是否已登录

时间:2011-10-09 14:00:47

标签: java jsf java-ee glassfish-3

如何使用jsf检查用户是否已登录?

这就是我这样做的方式而且它不起作用:

<ui:fragment rendered="#{!request.getUserPrincipal().getName().equalsIgnoreCase('anonymous')}">
    <h:outputLink value="logout">
        <h:outputText value="Logout" />
    </h:outputLink>
</ui:fragment>

1 个答案:

答案 0 :(得分:5)

只需检查HttpServletRequest#getUserPrincipal()是否不是null

<ui:fragment rendered="#{request.userPrincipal != null}">
    <h:outputLink value="logout">
        <h:outputText value="Logout" />
    </h:outputLink>
</ui:fragment>

它也适用于HttpServletRequest#getRemoteUser()

<ui:fragment rendered="#{request.remoteUser != null}">
    <h:outputLink value="logout">
        <h:outputText value="Logout" />
    </h:outputLink>
</ui:fragment>