public final int doWikiStartTag()

in jspwiki-main/src/main/java/org/apache/wiki/tags/UserCheckTag.java [99:157]


    public final int doWikiStartTag() {
        final Session session = m_wikiContext.getWikiSession();
        final String status = session.getStatus();
        final AuthenticationManager mgr = m_wikiContext.getEngine().getManager( AuthenticationManager.class );
        final boolean containerAuth = mgr.isContainerAuthenticated();
        final boolean cookieAssertions = mgr.allowsCookieAssertions();

        if( m_status != null ) {
            switch( m_status ) {
            case ANONYMOUS:
                if( status.equals( Session.ANONYMOUS ) ) {
                    return EVAL_BODY_INCLUDE;
                }
                break;
            case AUTHENTICATED:
                if( status.equals( Session.AUTHENTICATED ) ) {
                    return EVAL_BODY_INCLUDE;
                }
                break;
            case ASSERTED:
                if( status.equals( Session.ASSERTED ) ) {
                    return EVAL_BODY_INCLUDE;
                }
                break;
            case ASSERTIONS_ALLOWED:
                if( cookieAssertions ) {
                    return EVAL_BODY_INCLUDE;
                }
                return SKIP_BODY;
            case ASSERTIONS_NOT_ALLOWED:
                if( !cookieAssertions ) {
                    return EVAL_BODY_INCLUDE;
                }
                return SKIP_BODY;
            case CONTAINER_AUTH:
                if( containerAuth ) {
                    return EVAL_BODY_INCLUDE;
                }
                return SKIP_BODY;
            case CUSTOM_AUTH:
                if( !containerAuth ) {
                    return EVAL_BODY_INCLUDE;
                }
                return SKIP_BODY;
            case KNOWN:
                if( !session.isAnonymous() ) {
                    return EVAL_BODY_INCLUDE;
                }
                return SKIP_BODY;
            case NOT_AUTHENTICATED:
                if( !status.equals( Session.AUTHENTICATED ) ) {
                    return EVAL_BODY_INCLUDE;
                }
                break;
            }
        }

        return SKIP_BODY;
    }