All Downloads are FREE. Search and download functionalities are using the official Maven repository.

clime.messadmin.providers.user.HttpRequestRemoteUser Maven / Gradle / Ivy

Go to download

Notification system and Session administration for J2EE Web Applications

There is a newer version: 4.1.1
Show newest version
/**
 * 
 */
package clime.messadmin.providers.user;

import javax.servlet.http.HttpSession;

import clime.messadmin.model.ISessionInfo;
import clime.messadmin.model.Server;
import clime.messadmin.model.Session;
import clime.messadmin.providers.spi.UserNameProvider;

/**
 * See if there is a HttpRequest remote user
 * @author Cédrik LIME
 */
public class HttpRequestRemoteUser implements UserNameProvider {

	/**
	 * 
	 */
	public HttpRequestRemoteUser() {
		super();
	}

	/**
	 * {@inheritDoc}
	 */
	public int getPriority() {
		return 200;
	}

	/**
	 * {@inheritDoc}
	 */
	public Object guessUserFromSession(HttpSession httpSession) {
		Object user = null;

		Session session = Server.getInstance().getSession(httpSession);
		if (session != null) {
			ISessionInfo sessionInfo = session.getSessionInfo();
			if (sessionInfo != null) {
				if (sessionInfo.getRemoteUser() != null) {
					return sessionInfo.getRemoteUser();
				} else if (sessionInfo.getUserPrincipal() != null) {
					return sessionInfo.getUserPrincipal();
				}
			}
		}

		return user;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy