Java Code Examples for org.apache.catalina.connector.Request.setUserPrincipal()

The following are Jave code examples for showing how to use setUserPrincipal() of the org.apache.catalina.connector.Request class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: lazycat   File: SingleSignOn.java   Source Code and License Vote up 7 votes
/**
 * Attempts reauthentication to the given <code>Realm</code> using the
 * credentials associated with the single sign-on session identified by
 * argument <code>ssoId</code>.
 * <p>
 * If reauthentication is successful, the <code>Principal</code> and
 * authorization type associated with the SSO session will be bound to the
 * given <code>Request</code> object via calls to {@link Request#setAuthType
 * Request.setAuthType()} and {@link Request#setUserPrincipal
 * Request.setUserPrincipal()}
 * </p>
 *
 * @param ssoId
 *            identifier of SingleSignOn session with which the caller is
 *            associated
 * @param realm
 *            Realm implementation against which the caller is to be
 *            authenticated
 * @param request
 *            the request that needs to be authenticated
 * 
 * @return <code>true</code> if reauthentication was successful,
 *         <code>false</code> otherwise.
 */
protected boolean reauthenticate(String ssoId, Realm realm, Request request) {

	if (ssoId == null || realm == null) {
		return false;
	}

	boolean reauthenticated = false;

	SingleSignOnEntry entry = cache.get(ssoId);
	if (entry != null && entry.getCanReauthenticate()) {

		String username = entry.getUsername();
		if (username != null) {
			Principal reauthPrincipal = realm.authenticate(username, entry.getPassword());
			if (reauthPrincipal != null) {
				reauthenticated = true;
				// Bind the authorization credentials to the request
				request.setAuthType(entry.getAuthType());
				request.setUserPrincipal(reauthPrincipal);
			}
		}
	}

	return reauthenticated;
}
 
Example 2
Project: Syn   File: SynValve.java   Source Code and License Vote up 6 votes
private void setAnonymousRoles(final Request request) {
    final List<String> roles = new ArrayList<String>();
    roles.add("anonymous");
    roles.add("islandora");
    final String name = "anonymous";
    final GenericPrincipal principal = new GenericPrincipal(name, null, roles);
    request.setUserPrincipal(principal);
}
 
Example 3
Project: Syn   File: SynValve.java   Source Code and License Vote up 6 votes
private void setUserRolesFromStaticToken(final Request request, final Token token) {
    final List<String> roles = token.getRoles();
    roles.add("islandora");
    final String name = token.getUser();
    final GenericPrincipal principal = new GenericPrincipal(name, null, roles);
    request.setUserPrincipal(principal);
}
 
Example 4
Project: Syn   File: SynValve.java   Source Code and License Vote up 6 votes
private void setUserRolesFromToken(final Request request, final Verifier verifier) {
    final List<String> roles = verifier.getRoles();
    roles.add("islandora");
    roles.add(verifier.getUrl());
    final String name = verifier.getName();
    final GenericPrincipal principal = new GenericPrincipal(name, null, roles);
    request.setUserPrincipal(principal);
}
 
Example 5
Project: tomcat7   File: SingleSignOn.java   Source Code and License Vote up 6 votes
/**
 * Attempts reauthentication to the given <code>Realm</code> using
 * the credentials associated with the single sign-on session
 * identified by argument <code>ssoId</code>.
 * <p>
 * If reauthentication is successful, the <code>Principal</code> and
 * authorization type associated with the SSO session will be bound
 * to the given <code>Request</code> object via calls to 
 * {@link Request#setAuthType Request.setAuthType()} and 
 * {@link Request#setUserPrincipal Request.setUserPrincipal()}
 * </p>
 *
 * @param ssoId     identifier of SingleSignOn session with which the
 *                  caller is associated
 * @param realm     Realm implementation against which the caller is to
 *                  be authenticated
 * @param request   the request that needs to be authenticated
 * 
 * @return  <code>true</code> if reauthentication was successful,
 *          <code>false</code> otherwise.
 */
protected boolean reauthenticate(String ssoId, Realm realm,
                                 Request request) {

    if (ssoId == null || realm == null) {
        return false;
    }

    boolean reauthenticated = false;

    SingleSignOnEntry entry = cache.get(ssoId);
    if (entry != null && entry.getCanReauthenticate()) {
        
        String username = entry.getUsername();
        if (username != null) {
            Principal reauthPrincipal =
                    realm.authenticate(username, entry.getPassword());                
            if (reauthPrincipal != null) {                    
                reauthenticated = true;                    
                // Bind the authorization credentials to the request
                request.setAuthType(entry.getAuthType());
                request.setUserPrincipal(reauthPrincipal);
            }
        }
    }

    return reauthenticated;
}
 
Example 6
Project: lams   File: SingleSignOn.java   Source Code and License Vote up 6 votes
/**
 * Attempts reauthentication to the given <code>Realm</code> using
 * the credentials associated with the single sign-on session
 * identified by argument <code>ssoId</code>.
 * <p>
 * If reauthentication is successful, the <code>Principal</code> and
 * authorization type associated with the SSO session will be bound
 * to the given <code>Request</code> object via calls to 
 * {@link Request#setAuthType Request.setAuthType()} and 
 * {@link Request#setUserPrincipal Request.setUserPrincipal()}
 * </p>
 *
 * @param ssoId     identifier of SingleSignOn session with which the
 *                  caller is associated
 * @param realm     Realm implementation against which the caller is to
 *                  be authenticated
 * @param request   the request that needs to be authenticated
 * 
 * @return  <code>true</code> if reauthentication was successful,
 *          <code>false</code> otherwise.
 */
public boolean reauthenticate(String ssoId, Realm realm,
                                 Request request) {

    if (ssoId == null || realm == null)
        return false;

    boolean reauthenticated = false;

    SingleSignOnEntry entry = lookup(ssoId);
    if (entry != null && entry.getCanReauthenticate()) {
        
        String username = entry.getUsername();
        if (username != null) {
            Principal reauthPrincipal =
                    realm.authenticate(username, entry.getPassword());                
            if (reauthPrincipal != null) {                    
                reauthenticated = true;                    
                // Bind the authorization credentials to the request
                request.setAuthType(entry.getAuthType());
                request.setUserPrincipal(reauthPrincipal);
            }
        }
    }

    return reauthenticated;
}
 
Example 7
Project: apache-tomcat-7.0.73-with-comment   File: SingleSignOn.java   Source Code and License Vote up 6 votes
/**
 * Attempts reauthentication to the given <code>Realm</code> using
 * the credentials associated with the single sign-on session
 * identified by argument <code>ssoId</code>.
 * <p>
 * If reauthentication is successful, the <code>Principal</code> and
 * authorization type associated with the SSO session will be bound
 * to the given <code>Request</code> object via calls to 
 * {@link Request#setAuthType Request.setAuthType()} and 
 * {@link Request#setUserPrincipal Request.setUserPrincipal()}
 * </p>
 *
 * @param ssoId     identifier of SingleSignOn session with which the
 *                  caller is associated
 * @param realm     Realm implementation against which the caller is to
 *                  be authenticated
 * @param request   the request that needs to be authenticated
 * 
 * @return  <code>true</code> if reauthentication was successful,
 *          <code>false</code> otherwise.
 */
protected boolean reauthenticate(String ssoId, Realm realm,
                                 Request request) {

    if (ssoId == null || realm == null) {
        return false;
    }

    boolean reauthenticated = false;

    SingleSignOnEntry entry = cache.get(ssoId);
    if (entry != null && entry.getCanReauthenticate()) {
        
        String username = entry.getUsername();
        if (username != null) {
            Principal reauthPrincipal =
                    realm.authenticate(username, entry.getPassword());                
            if (reauthPrincipal != null) {                    
                reauthenticated = true;                    
                // Bind the authorization credentials to the request
                request.setAuthType(entry.getAuthType());
                request.setUserPrincipal(reauthPrincipal);
            }
        }
    }

    return reauthenticated;
}
 
Example 8
Project: lams   File: SingleSignOn.java   Source Code and License Vote up 5 votes
/**
 * Perform single-sign-on support processing for this request.
 *
 * @param request The servlet request we are processing
 * @param response The servlet response we are creating
 *
 * @exception IOException if an input/output error occurs
 * @exception ServletException if a servlet error occurs
 */
public void invoke(Request request, Response response)
    throws IOException, ServletException {

    request.removeNote(Constants.REQ_SSOID_NOTE);

    // Has a valid user already been authenticated?
    if (request.getUserPrincipal() != null) {
        getNext().invoke(request, response);
        return;
    }

    // Check for the single sign on cookie
    Cookie cookie = null;
    Cookie cookies[] = request.getCookies();
    if (cookies == null)
        cookies = new Cookie[0];
    for (int i = 0; i < cookies.length; i++) {
        if (Constants.SINGLE_SIGN_ON_COOKIE.equals(cookies[i].getName())) {
            cookie = cookies[i];
            break;
        }
    }
    if (cookie == null) {
        getNext().invoke(request, response);
        return;
    }

    // Look up the cached Principal associated with this cookie value
    SingleSignOnEntry entry = lookup(cookie.getValue());
    if (entry != null) {
        request.setNote(Constants.REQ_SSOID_NOTE, cookie.getValue());
        // Only set security elements if reauthentication is not required
        if (!getRequireReauthentication()) {
            request.setAuthType(entry.getAuthType());
            request.setUserPrincipal(entry.getPrincipal());
        }
    } else {
        cookie.setMaxAge(0);
        response.addCookie(cookie);
    }

    // Invoke the next Valve in our pipeline
    getNext().invoke(request, response);

}