PermissionBeanLocal.java 851 Bytes
package fi.insomnia.bortal.beans;

import javax.ejb.Local;
import javax.resource.spi.IllegalStateException;

import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.model.User;

@Local
public interface PermissionBeanLocal {

	boolean hasPermission(IAppPermission perm);

	User getCurrentUser();

	boolean isLoggedIn();

	boolean isCurrentUser(User thisuser);

	// boolean fatalPermission(IAppPermission perm, Object... failmessage);

	// throws PermissionDeniedException;

	// void fatalNotLoggedIn();

	User getAnonUser();

	String getPrincipal();

	/**
	 * Get common name of the logged in cert like "customer-01"
	 * 
	 * @return CN of the certificate
	 * @throws IllegalStateException
	 *             Principal has no CN
	 */
	String getCommonName() throws IllegalStateException;

	// boolean hasPermission(String perm);

}