jsf检查用户是否已登录

Ale*_*lex 2 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>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

检查一下HttpServletRequest#getUserPrincipal()是不是null.

<ui:fragment rendered="#{request.userPrincipal != null}">
    <h:outputLink value="logout">
        <h:outputText value="Logout" />
    </h:outputLink>
</ui:fragment>
Run Code Online (Sandbox Code Playgroud)

它也适用于HttpServletRequest#getRemoteUser().

<ui:fragment rendered="#{request.remoteUser != null}">
    <h:outputLink value="logout">
        <h:outputText value="Logout" />
    </h:outputLink>
</ui:fragment>
Run Code Online (Sandbox Code Playgroud)