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

org.jboss.security.SecurityContext Maven / Gradle / Ivy

The newest version!
/*
 * JBoss, the OpenSource J2EE webOS
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */ 
package org.jboss.security;
 
import java.io.Serializable;
import java.util.Map; 

/**
 *  Encapsulation of Authentication, Authorization, Mapping and other
 *  security aspects at the level of a security domain
 *  @author Anil Saldhana
 *  @version $Revision$
 *  @since  Aug 24, 2006
 */
public interface SecurityContext extends SecurityManagerLocator, Serializable,Cloneable
{  
   /**
    * Get the SecurityManagement object to get hold of the various
    * managers
    * @return
    */
   public ISecurityManagement getSecurityManagement();
   
   /**
    * Set the SecurityManagement holder
    * @param ism
    */
   public void setSecurityManagement(ISecurityManagement ism);
   
   /**
    * Context Map 
    */
   public Map getData();
   
   /**
    * Return the Security Domain
    */
   public String getSecurityDomain();
   
   /**
    * 

* Sets the security domain. *

* * @param domain a {@code String} representing the security domain. */ public void setSecurityDomain(String domain); /** * Subject Info * * @see SecurityContextUtil#getSubject() * @see SecurityContextUtil#createSubjectInfo(java.security.Principal, Object, javax.security.auth.Subject) */ SubjectInfo getSubjectInfo(); /** * Subject Info * * @see SecurityContextUtil#getSubject() * @see SecurityContextUtil#createSubjectInfo(java.security.Principal, Object, javax.security.auth.Subject) */ void setSubjectInfo(SubjectInfo si); /** * RunAs that is being propagated into this context * by an external context * {@link #setIncomingRunAs(RunAs)} */ public RunAs getIncomingRunAs(); /** * Set the RunAs that is propagating into this * context. * @param runAs The RunAs */ public void setIncomingRunAs(RunAs runAs); /** * RunAs Representation * * {@link #setOutgoingRunAs(RunAs)} */ public RunAs getOutgoingRunAs(); /** * Set the current RunAs for the security context that will be * propagated out to other security context. * * RunAs coming into this security context needs to be done * from SecurityContextUtil.getCallerRunAs/setCallerRunAs * * @param runAs */ public void setOutgoingRunAs(RunAs runAs); /** * Return a utility that is a facade to the internal * storage mechanism of the Security Context * * This utility can be used to store information like * roles etc in an implementation specific way * @return */ public SecurityContextUtil getUtil(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy