org.apache.catalina.Authenticator Java Examples

The following examples show how to use org.apache.catalina.Authenticator. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SingleSignOnListener.java    From tomcatsrc with Apache License 2.0 6 votes vote down vote up
@Override
public void sessionEvent(SessionEvent event) {
    if (!Session.SESSION_DESTROYED_EVENT.equals(event.getType())) {
        return;
    }

    Session session = event.getSession();
    Manager manager = session.getManager();
    if (manager == null) {
        return;
    }
    Context context = (Context) manager.getContainer();
    Authenticator authenticator = context.getAuthenticator();
    if (!(authenticator instanceof AuthenticatorBase)) {
        return;
    }
    SingleSignOn sso = ((AuthenticatorBase) authenticator).sso;
    if (sso == null) {
        return;
    }
    sso.sessionDestroyed(ssoId, session);
}
 
Example #2
Source File: SingleSignOnListener.java    From Tomcat8-Source-Read with MIT License 6 votes vote down vote up
@Override
public void sessionEvent(SessionEvent event) {
    if (!Session.SESSION_DESTROYED_EVENT.equals(event.getType())) {
        return;
    }

    Session session = event.getSession();
    Manager manager = session.getManager();
    if (manager == null) {
        return;
    }
    Context context = manager.getContext();
    Authenticator authenticator = context.getAuthenticator();
    if (!(authenticator instanceof AuthenticatorBase)) {
        return;
    }
    SingleSignOn sso = ((AuthenticatorBase) authenticator).sso;
    if (sso == null) {
        return;
    }
    sso.sessionDestroyed(ssoId, session);
}
 
Example #3
Source File: SingleSignOnListener.java    From Tomcat7.0.67 with Apache License 2.0 6 votes vote down vote up
@Override
public void sessionEvent(SessionEvent event) {
    if (!Session.SESSION_DESTROYED_EVENT.equals(event.getType())) {
        return;
    }

    Session session = event.getSession();
    Manager manager = session.getManager();
    if (manager == null) {
        return;
    }
    Context context = (Context) manager.getContainer();
    if (context == null) {
        return;
    }
    Authenticator authenticator = context.getAuthenticator();
    if (!(authenticator instanceof AuthenticatorBase)) {
        return;
    }
    SingleSignOn sso = ((AuthenticatorBase) authenticator).sso;
    if (sso == null) {
        return;
    }
    sso.sessionDestroyed(ssoId, session);
}
 
Example #4
Source File: CoyoteAdapter.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
private void doConnectorAuthenticationAuthorization(org.apache.coyote.Request req, Request request) {
    // Set the remote principal
    String username = req.getRemoteUser().toString();
    if (username != null) {
        if (log.isDebugEnabled()) {
            log.debug(sm.getString("coyoteAdapter.authenticate", username));
        }
        if (req.getRemoteUserNeedsAuthorization()) {
            Authenticator authenticator = request.getContext().getAuthenticator();
            if (!(authenticator instanceof AuthenticatorBase)) {
                if (log.isDebugEnabled()) {
                    log.debug(sm.getString("coyoteAdapter.authorize", username));
                }
                // Custom authenticator that may not trigger authorization.
                // Do the authorization here to make sure it is done.
                request.setUserPrincipal(
                        request.getContext().getRealm().authenticate(username));
            }
            // If the Authenticator is an instance of AuthenticatorBase then
            // it will check req.getRemoteUserNeedsAuthorization() and
            // trigger authorization as necessary. It will also cache the
            // result preventing excessive calls to the Realm.
        } else {
            // The connector isn't configured for authorization. Create a
            // user without any roles using the supplied user name.
            request.setUserPrincipal(new CoyotePrincipal(username));
        }
    }

    // Set the authorization type
    String authType = req.getAuthType().toString();
    if (authType != null) {
        request.setAuthType(authType);
    }
}
 
Example #5
Source File: CoyoteAdapter.java    From tomcatsrc with Apache License 2.0 5 votes vote down vote up
private void doConnectorAuthenticationAuthorization(org.apache.coyote.Request req, Request request) {
    // Set the remote principal
    String username = req.getRemoteUser().toString();
    if (username != null) {
        if (log.isDebugEnabled()) {
            log.debug(sm.getString("coyoteAdapter.authenticate", username));
        }
        if (req.getRemoteUserNeedsAuthorization()) {
            Authenticator authenticator = request.getContext().getAuthenticator();
            if (authenticator == null) {
                // No security constraints configured for the application so
                // no need to authorize the user. Use the CoyotePrincipal to
                // provide the authenticated user.
                request.setUserPrincipal(new CoyotePrincipal(username));
            } else if (!(authenticator instanceof AuthenticatorBase)) {
                if (log.isDebugEnabled()) {
                    log.debug(sm.getString("coyoteAdapter.authorize", username));
                }
                // Custom authenticator that may not trigger authorization.
                // Do the authorization here to make sure it is done.
                request.setUserPrincipal(
                        request.getContext().getRealm().authenticate(username));
            }
            // If the Authenticator is an instance of AuthenticatorBase then
            // it will check req.getRemoteUserNeedsAuthorization() and
            // trigger authorization as necessary. It will also cache the
            // result preventing excessive calls to the Realm.
        } else {
            // The connector isn't configured for authorization. Create a
            // user without any roles using the supplied user name.
            request.setUserPrincipal(new CoyotePrincipal(username));
        }
    }

    // Set the authorization type
    String authtype = req.getAuthType().toString();
    if (authtype != null) {
        request.setAuthType(authtype);
    }
}
 
Example #6
Source File: Embedded.java    From Tomcat7.0.67 with Apache License 2.0 5 votes vote down vote up
public void addAuthenticator(Authenticator authenticator,
                             String loginMethod) {
    if (!(authenticator instanceof Valve)) {
        throw new IllegalArgumentException(
            sm.getString("embedded.authenticatorNotInstanceOfValve"));
    }
    if (authenticators == null) {
        synchronized (this) {
            if (authenticators == null) {
                authenticators = new HashMap<String,Authenticator>();
            }
        }
    }
    authenticators.put(loginMethod, authenticator);
}
 
Example #7
Source File: Embedded.java    From tomcatsrc with Apache License 2.0 5 votes vote down vote up
public void addAuthenticator(Authenticator authenticator,
                             String loginMethod) {
    if (!(authenticator instanceof Valve)) {
        throw new IllegalArgumentException(
            sm.getString("embedded.authenticatorNotInstanceOfValve"));
    }
    if (authenticators == null) {
        synchronized (this) {
            if (authenticators == null) {
                authenticators = new HashMap<String,Authenticator>();
            }
        }
    }
    authenticators.put(loginMethod, authenticator);
}
 
Example #8
Source File: CoyoteAdapter.java    From Tomcat7.0.67 with Apache License 2.0 5 votes vote down vote up
private void doConnectorAuthenticationAuthorization(org.apache.coyote.Request req, Request request) {
    // Set the remote principal
    String username = req.getRemoteUser().toString();
    if (username != null) {
        if (log.isDebugEnabled()) {
            log.debug(sm.getString("coyoteAdapter.authenticate", username));
        }
        if (req.getRemoteUserNeedsAuthorization()) {
            Authenticator authenticator = request.getContext().getAuthenticator();
            if (authenticator == null) {
                // No security constraints configured for the application so
                // no need to authorize the user. Use the CoyotePrincipal to
                // provide the authenticated user.
                request.setUserPrincipal(new CoyotePrincipal(username));
            } else if (!(authenticator instanceof AuthenticatorBase)) {
                if (log.isDebugEnabled()) {
                    log.debug(sm.getString("coyoteAdapter.authorize", username));
                }
                // Custom authenticator that may not trigger authorization.
                // Do the authorization here to make sure it is done.
                request.setUserPrincipal(
                        request.getContext().getRealm().authenticate(username));
            }
            // If the Authenticator is an instance of AuthenticatorBase then
            // it will check req.getRemoteUserNeedsAuthorization() and
            // trigger authorization as necessary. It will also cache the
            // result preventing excessive calls to the Realm.
        } else {
            // The connector isn't configured for authorization. Create a
            // user without any roles using the supplied user name.
            request.setUserPrincipal(new CoyotePrincipal(username));
        }
    }

    // Set the authorization type
    String authtype = req.getAuthType().toString();
    if (authtype != null) {
        request.setAuthType(authtype);
    }
}
 
Example #9
Source File: TesterContext.java    From tomcatsrc with Apache License 2.0 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() {
    return null;
}
 
Example #10
Source File: FailedContext.java    From tomcatsrc with Apache License 2.0 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() { return null; }
 
Example #11
Source File: TesterContext.java    From Tomcat7.0.67 with Apache License 2.0 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() {
    return null;
}
 
Example #12
Source File: FailedContext.java    From Tomcat7.0.67 with Apache License 2.0 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() { return null; }
 
Example #13
Source File: TesterContext.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() {
    return null;
}
 
Example #14
Source File: FailedContext.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@Override
public Authenticator getAuthenticator() { return null; }
 
Example #15
Source File: ContextConfig.java    From tomcatsrc with Apache License 2.0 2 votes vote down vote up
/**
 * Sets custom mappings of login methods to authenticators.
 *
 * @param customAuthenticators Custom mappings of login methods to
 * authenticators
 */
public void setCustomAuthenticators(
        Map<String,Authenticator> customAuthenticators) {
    this.customAuthenticators = customAuthenticators;
}
 
Example #16
Source File: ContextConfig.java    From Tomcat7.0.67 with Apache License 2.0 2 votes vote down vote up
/**
 * Sets custom mappings of login methods to authenticators.
 *
 * @param customAuthenticators Custom mappings of login methods to
 * authenticators
 */
public void setCustomAuthenticators(
        Map<String,Authenticator> customAuthenticators) {
    this.customAuthenticators = customAuthenticators;
}
 
Example #17
Source File: ContextConfig.java    From Tomcat8-Source-Read with MIT License 2 votes vote down vote up
/**
 * Sets custom mappings of login methods to authenticators.
 *
 * @param customAuthenticators Custom mappings of login methods to
 * authenticators
 */
public void setCustomAuthenticators(
        Map<String,Authenticator> customAuthenticators) {
    this.customAuthenticators = customAuthenticators;
}