BEA Logo BEA WLCS Release 3.5

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   WLCS Doc Home   |   Security Guide   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Application Services and Security

 

As described in Deployment Descriptors and Security Roles, each Enterprise JavaBean (EJB) Java ARchive (JAR) file has two associated deployment descriptors: ejb-jar.xml and weblogic-ejb-jar.xml. These XML files contain elements that register an application's individual JavaBeans with appropriate security constraints.

Since you will use the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server application services as a starting point for developing your own applications, this topic describes the contents of these deployment descriptors for each JAR in the included wlcsApp enterprise application. Therefore, this topic includes the following sections:

Notes: The JAR files containing the ejb-jar.xml and weblogic-ejb-jar.xml deployment descriptors that are described in this chapter can be found in the $WL_COMMERCE_HOME/WebLogicCommerce3.5/config/wlcsDomain/
wlcsApp
subdirectory, where $WL_COMMERCE_HOME is the directory where you installed the product.

Only the security-related elements of the ejb-jar.xml and weblogic-ejb-jar.xml deployment descriptors are discussed in this chapter. For more detailed information about the other elements these deployment descriptors contain, see the Deployment Guide.

 


action.jar

The action.jar file contains an EJB that provides the executable actions for the campaign server (that is, the mail action, the ads action, and the offer discount action).

Enterprise Bean Definitions

Table 3-1 lists the enterprise JavaBean that is defined within the action.jar file's ejb-jar.xml deployment descriptor.

Table 3-1 action.jar ejb-jar.xml EJB Definition

Name

Type

ActionService

Stateless session


 

Assembly Descriptor

Within the action.jar file, the ejb-jar.xml deployment descriptor registers the ActionService stateless session JavaBean with the application assembly descriptor shown in Listing 3-1.

Listing 3-1 Assembly Descriptor Element for the ActionService JavaBean

<assembly descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission> 
	<role-name>AnonymousRole</role-name> 
       <method> 
<ejb-name>ActionService</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission> 
...
</assembly-descriptor> 

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all of the methods in the ActionService JavaBean's Home interface.

Security-Role Assignments

Within the action.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the ActionService stateless session JavaBean, as shown in Listing 3-2. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-2 Security Role Assignments for the ActionService JavaBean

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


axiom.jar

The axiom.jar file is a collection of EJBs that provide user and group management and Unified User Profile (UUP) services. For more information, see "Unified User Profiles" in the Creating and Managing Users chapter of the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-2 lists the enterprise JavaBeans that are defined within the axiom.jar file's ejb-jar.xml deployment descriptor.

Table 3-2 axiom.jar ejb-jar.xml EJB Definitions

Name

Type

com.beasys.commerce.axiom.contact.UserManager

Stateless session

com.beasys.commerce.axiom.contact.RealmConfiguration

Stateless session

com.beasys.commerce.axiom.contact.
UnifiedProfileTypeManager

Stateless session

com.beasys.commerce.axiom.contact.User

Entity

com.beasys.commerce.axiom.contact.Group

Entity


 

Security-Role References

In addition, the ejb-jar.xml deployment descriptor contains security-role reference elements for the com.beasys.commerce.axiom.contact.UserManager stateless session JavaBean and the com.beasys.commerce.axiom.contact.User entity bean. These elements, shown in Listing 3-3, enable the EJB to do programmatic security checking, if such behavior is desired.

Listing 3-3 Security-Role References in the User and UserManager JavaBeans

<security-role-ref>
   <description>This ref declares the Administrative role for this 
bean</description>
   <role-name>AdministrativeRole</role-name>
<role-link>AdministrativeRole</role-link>
</security-role-ref>

Note: For information on the differences between declarative and programmatic security, see the "Security" chapter in the Java 2 Platform Enterprise Edition Specification, v1.3.

Assembly Descriptor

Within the axiom.jar file, the ejb-jar.xml deployment descriptor registers the Axiom stateless session and entity JavaBeans with the application assembly descriptor shown in Listing 3-4.

Listing 3-4 Assembly Descriptor Element for the Axiom JavaBeans

<assembly descriptor>
   <security-role>
<description>Administrators</description>
<role-name>AdministrativeRole</role-name>
</security-role>
   <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>     		
<ejb-name>com.beasys.commerce.axiom.contact.
UserManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>      
<ejb-name>com.beasys.commerce.axiom.contact.
UserManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>      		
<ejb-name>com.beasys.commerce.axiom.contact.
RealmConfiguration
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.axiom.contact.
RealmConfiguration
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.axiom.contact.
UnifiedProfileTypeManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.axiom.contact.
UnifiedProfileTypeManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
    </method-permission>
...
</assembly-descriptor> 

In this case, the assembly descriptor first specifies two security roles, AdministrativeRole and AnonymousRole. The assembly descriptor then specifies the individual method permissions for the three stateless session JavaBeans in the axiom.jar file (UserManager, RealmConfiguration, and UnifiedProfileTypeManager) according to the AnonymousRole. Thus, users within the security role AnonymousRole will be granted access to all of the methods in the UserManager, RealmConfiguration, and UnifiedProfileTypeManager JavaBeans' Home interfaces, as well as all of the methods of their Remote interfaces. The AdministrativeRole is not used.

Security-Role Assignments

Within the axiom.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Axiom JavaBeans, as shown in Listing 3-5. In this case, the security role AdministrativeRole is assigned to the admin principal, and the AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-5 Security Role Assignments for the Axiom JavaBeans

  <security-role-assignment>
    <role-name>AdministrativeRole</role-name>
<principal-name>admin</principal-name>
  </security-role-assignment>
  <security-role-assignment>
    <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
  </security-role-assignment>

 


bridge.jar

The bridge.jar file contains an EJB that provides the LDAP configuration information for the Unified User Profile (UUP) service. For more information about UUP, see "Unified User Profiles" in the Creating and Managing Users chapter of the Building Personalized Applications documentation. For more information about UUP and LDAP, see "Using the LDAP Realm" in the same chapter.

Enterprise Bean Definitions

Table 3-3 lists the enterprise JavaBean that is defined within the bridge.jar file's ejb-jar.xml deployment descriptor.

Table 3-3 bridge.jar ejb-jar.xml EJB Definition

Name

Type

com.beasys.commerce.bridge.ldap.LDAPConfiguration

Stateless session


 

Assembly Descriptor

Within the bridge.jar file, the ejb-jar.xml deployment descriptor registers the LDAPConfiguration stateless session JavaBean with the application assembly descriptor shown in Listing 3-6.

Listing 3-6 Assembly Descriptor Element for the LDAPConfiguration JavaBean

<assembly descriptor>
      <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
      <method-permission>
         <role-name>AnonymousRole</role-name>
         <method>     		
<ejb-name>com.beasys.commerce.bridge.ldap.
LDAPConfiguration
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      </method-permission>
   ...
</assembly descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all of the methods in the LDAPConfiguration JavaBean's Home interface.

Security-Role Assignments

Within the bridge.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the LDAPConfiguration stateless session JavaBean, as shown in Listing 3-7. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-7 Security Role Assignments for the LDAPConfiguration JavaBean

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


campaign.jar

The campaign.jar file is a collection of EJBs that provide the campaign and scenario services and repositories.

Enterprise Bean Definitions

Table 3-4 lists the enterprise JavaBeans that are defined within the campaign.jar file's ejb-jar.xml deployment descriptor.

Table 3-4 campaign.jar ejb-jar.xml EJB Definitions

Name

Type

com.beasys.commerce.campaign.ScenarioService

Stateless session

com.beasys.commerce.campaign.ScenarioRepository

Stateless session

com.beasys.commerce.campaign.CampaignService

Stateless session

com.beasys.commerce.campaign.CampaignRepository

Stateless session


 

Assembly Descriptor

Within the campaign.jar file, the ejb-jar.xml deployment descriptor registers the Campaign stateless session JavaBeans with the application assembly descriptor shown in Listing 3-8.

Listing 3-8 Assembly Descriptor Element for the Campaign JavaBeans

<assembly-descriptor>
      <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
      <security-role>
<description>Administrative Users</description>
<role-name>AdminRole</role-name>
</security-role>

<!-- Permissions for the AnonymousRole -->
      <method-permission>
         <role-name>AnonymousRole</role-name>
         <method>
<ejb-name>com.bea.commerce.campaign.
ScenarioService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
         <method>
<ejb-name>com.bea.commerce.campaign.
ScenarioService
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignService
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignRepository
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignRepository
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getCampaignService</method-name>
</method>
    </method-permission>

<!-- Permissions for the AdminRole -->
    <method-permission>
        <role-name>AdminRole</role-name>
        <method>
<ejb-name>com.bea.commerce.campaign.
ScenarioService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>     
<ejb-name>com.bea.commerce.campaign.
ScenarioService
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
ScenarioRepository
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
ScenarioRepository</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignService</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
        <method>
<ejb-name>com.bea.commerce.campaign.
CampaignRepository
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
        <method>   
<ejb-name>com.bea.commerce.campaign.
CampaignRepository</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
    </method-permission>
  ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the Home and Remote interfaces for the ScenarioService and CampaignService JavaBeans, plus all methods on the Home interface of the CampaignRepository JavaBean. In addition, users in the AnonymousRole will be granted access to the getCampaignService method on the Remote interface of the CampaignRepository JavaBean. Users within the security role AdminRole will be granted access to all methods in the Home and Remote interfaces for all the JavaBeans.

Security-Role Assignments

Within the campaign.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Campaign stateless session JavaBeans, as shown in Listing 3-9. In this case, the security role AnonymousRole is assigned to the everyone principal, and the AdminRole is assigned to both the admin and system principals.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-9 Security Role Assignments for the Campaign JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

<security-role-assignment>
    <role-name>AdminRole</role-name>
<principal-name>admin</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>

 


discount.jar

The discount.jar file is a collection of EJBs that provide the discount definition and association services. More information about the Discount Management and Association services can be found in the "Discounts" chapter of the Managing Purchases and Processing Orders documentation.

Enterprise Bean Definitions

Table 3-5 lists the enterprise JavaBeans that are defined within the discount.jar file's ejb-jar.xml deployment descriptor.

Table 3-5 discount.jar ejb-jar.xml EJB Definitions

Name

Type

DiscountManagement

Stateless session

DiscountAssociationMgr

Stateless session

DiscountSet

Entity

Discount

Entity

DiscountAssociation

Entity


 

Assembly Descriptor

Within the discount.jar file, the ejb-jar.xml deployment descriptor registers the Discount stateless session and entity JavaBeans with the application assembly descriptor shown in Listing 3-10.

Listing 3-10 Assembly Descriptor Element for the Discount JavaBeans

<assembly-descriptor>
      <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
      </security-role>
      <method-permission>
         <role-name>AnonymousRole</role-name>
         <method>
<ejb-name>DiscountManagement</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
         <method>
<ejb-name>DiscountManagement</ejb-name>
<method-name>*</method-name>
</method>
         <method>
<ejb-name>DiscountAssociationMgr</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
         <method>
<ejb-name>DiscountAssociationMgr</ejb-name>
<method-name>*</method-name>
</method>
      </method-permission>
   ...
</assembly-descriptor>

Note: The <method> tag without a <method-intf> specifies the <method-name> on both the Home and Remote interfaces.

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the Home and Remote interfaces for the DiscountManagement and DiscountAssociationMgr JavaBeans.

Security-Role Assignments

Within the discount.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Discount stateless session and entity JavaBeans, as shown in Listing 3-11. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-11 Security Role Assignments for the Discount JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


document.jar

The document.jar file is a collection of EJBs that provide the document management services (searching, retrieval, and schemas).

Enterprise Bean Definitions

Table 3-6 lists the enterprise JavaBeans that are defined within the document.jar file's ejb-jar.xml deployment descriptor.

Table 3-6 document.jar ejb-jar.xml EJB Definitions

Name

Type

com.beasys.commerce.axiom.document.Document

Entity

com.beasys.commerce.axiom.document.DocumentSchema

Entity

com.beasys.commerce.axiom.document.DocumentManager

Stateless session


 

Assembly Descriptor

Within the document.jar file, the ejb-jar.xml deployment descriptor registers the Document stateless session and entity JavaBeans with the application assembly descriptor shown in Listing 3-12.

Listing 3-12 Assembly Descriptor Element for the Document JavaBeans

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission> 
	<role-name>AnonymousRole</role-name> 
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.Document
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.Document
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.
DocumentSchema
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.
DocumentSchema
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.
DocumentManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
       <method> 
<ejb-name>com.beasys.commerce.axiom.document.
DocumentManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
   </method-permission> 
  ...
</assembly-descriptor> 

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the Home and Remote interfaces for each of the Document JavaBeans.

Security-Role Assignments

Within the document.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Document stateless session and entity JavaBeans, as shown in Listing 3-13. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-13 Security Role Assignments for the Document JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


ebusiness.jar

The ebusiness.jar file is a collection of EJBs that provide the commerce services, including product catalog, order, tax calculation, shipping, payment, and supporting EJB Pipeline components. For more information about these services, see the Managing Purchases and Processing Orders documentation.

Enterprise Bean Definitions

Table 3-7 lists the enterprise JavaBeans that are defined within the ebusiness.jar file's ejb-jar.xml deployment descriptor.

Table 3-7 ebusiness.jar ejb-jar.xml EJB Definitions

Name

Type

com.beasys.commerce.ebusiness.security.Encryptor

Stateless session

com.beasys.commerce.ebusiness.security.Decryptor

Stateless session

com.beasys.commerce.ebusiness.payment.CreditCardService

Stateless session

com.beasys.commerce.ebusiness.payment.
PaymentTransaction

Entity

com.beasys.commerce.ebusiness.tax.taxware.
TaxwareTaxCalculator

Stateful session

com.beasys.commerce.ebusiness.customer.Customer

Entity

com.beasys.commerce.ebusiness.catalog.CatalogManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.category.CategoryManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.data.
CustomDataManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.item.
ProductItemManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.query.
CatalogQueryManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.category.JdbcCategoryManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.data.
EpmCustomDataManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.item.
JdbcProductItemManager

Stateless session

com.beasys.commerce.ebusiness.catalog.service.query.
JdbcCatalogQueryManager

Stateless session

com.beasys.commerce.ebusiness.shoppingcart.pipeline.
DeleteProductItemFromSavedListPC

Stateless session

com.beasys.commerce.ebusiness.shoppingcart.pipeline.
RefreshSavedListPC

Stateless session

com.beasys.commerce.ebusiness.shoppingcart.pipeline.
MoveProductItemToSavedListPC

Stateless session

com.beasys.commerce.ebusiness.shoppingcart.pipeline.
MoveProductItemToShoppingCartPC

Stateless session

com.beasys.commerce.ebusiness.shipping.ShippingMethod

Entity

com.beasys.commerce.ebusiness.shipping.ShippingHelper

Stateless session

com.beasys.commerce.ebusiness.order.Order

Entity

com.beasys.commerce.ebusiness.order.OrderManager

Stateless session


 

Security-Role References

In addition, the ejb-jar.xml deployment descriptor contains security-role reference elements for the E-business stateless session and entity JavaBeans. These elements, shown in Listing 3-14 through Listing 3-17, enable the EJBs to do programmatic security checking, if such behavior is desired.

Listing 3-14 illustrates only the Anonymous security-role reference, as it is defined for the following E-business JavaBeans:

Note: In the TaxwareTaxCalculator JavaBean's security-role reference, the <description> subelement incorrectly reads AdministrativeRole instead of AnonymousRole. However, because the description is essentially a comment, the server is not affected by it.

Listing 3-15 illustrates the Customer and Administrative security-role references, as they are defined for the following E-business JavaBeans:

Listing 3-17 illustrates the Administrative, Customer, and Anonymous security-role references, as they are defined for the following E-business JavaBeans:

Note: For information on the differences between declarative and programmatic security, see the "Security" chapter in the Java 2 Platform Enterprise Edition Specification, v1.3.

Assembly Descriptor

Within the ebusiness.jar file, the ejb-jar.xml deployment descriptor registers the E-business stateless session and entity JavaBeans with the application assembly descriptor shown in Listing 3-18.

Listing 3-18 Assembly Descriptor Element for the E-business JavaBeans

<assembly-descriptor>
      <security-role>
<description>Registered customers</description>
<role-name>CustomerRole</role-name>
</security-role>
      <security-role>
<description>Administrators</description>
<role-name>AdministrativeRole</role-name>
</security-role>
      <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
    <method-permission>
       <role-name>AnonymousRole</role-name>
	<!-- com.beasys.commerce.ebusiness.catalog.CatalogManager 	
-->
       <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCategoryManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getProductItemManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCatalogQueryManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCustomDataManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>createCatalogRequest</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.category.
CategoryManager
-->
      <method>        	
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getParent</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getAncestors</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getRootCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblings</method-name>
</method>
      <method>        	
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblingKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblingCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
ProductItemManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getKeywords</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItem</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
JdbcProductItemManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getKeywords</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItem</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.data.
CustomDataManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.query.
CatalogQueryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.CatalogQueryManager</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.CatalogQueryManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.data.
EpmCustomDataManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.EpmCustomDataManager</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.EpmCustomDataManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.query.
JdbcCatalogQueryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.JdbcCatalogQueryManager</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.JdbcCatalogQueryManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.category.
JdbcCategoryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
        <ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getParent</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getAncestors</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getRootCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblings</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblingKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblingCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>         		
<ejb-name>com.beasys.commerce.ebusiness.security.
Encryptor
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.tax.taxware.
TaxwareTaxCalculator
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.customer.
Customer
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.shipping.
ShippingMethod
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.shoppingcart.
pipeline.RefreshSavedListPC
</ejb-name>
<method-name>*</method-name>
</method>
   </method-permission>

<method-permission>
      <role-name>CustomerRole</role-name>
      <!-- com.beasys.commerce.ebusiness.catalog.
CatalogManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCategoryManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getProductItemManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCatalogQueryManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>getCustomDataManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager</ejb-name>
<method-name>createCatalogRequest</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.category.
CategoryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getParent</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getAncestors</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getRootCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblings</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblingKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSubCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getSiblingCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager</ejb-name>
<method-name>getItemCategories</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
ProductItemManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getKeywords</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager</ejb-name>
<method-name>getItem</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
JdbcProductItemManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getKeywords</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager</ejb-name>
<method-name>getItem</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
query.CatalogQueryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.CatalogQueryManager</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.data.
EpmCustomDataManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.EpmCustomDataManager</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
query.JdbcCatalogQueryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.JdbcCatalogQueryManager</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCatalogManager</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItems</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getParent</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getAncestors</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getRootCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblings</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblingKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategoryKeys</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSubCategoryCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getSiblingCount</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategory</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getCategories</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager</ejb-name>
<method-name>getItemCategories</method-name>
</method>

<method>
<ejb-name>com.beasys.commerce.ebusiness.security.
Decryptor
</ejb-name>
<method-name>*</method-name>
</method>

<method>
<ejb-name>com.beasys.commerce.ebusiness.payment.
CreditCardService
</ejb-name>
<method-name>*</method-name>
</method>

<method>
<ejb-name>com.beasys.commerce.ebusiness.payment.
PaymentTransaction
</ejb-name>
<method-name>*</method-name>
</method>
      <method>             
<ejb-name>com.beasys.commerce.ebusiness.shoppingcart.
pipeline.DeleteProductItemFromSavedListPC
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.shoppingcart.
pipeline.RefreshSavedListPC
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.shoppingcart.
pipeline.MoveProductItemToSavedListPC
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.shoppingcart.
pipeline.MoveProductItemToShoppingCartPC
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.order.
Order
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.order.
OrderManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>

<method-permission>
      <role-name>AdministrativeRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.security.
Decryptor
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.payment.
CreditCardService
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.payment.
PaymentTransaction
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.order.
Order
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.CatalogManager
-->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.
CatalogManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager -->
      <method>
        <ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.
JdbcCategoryManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
category.JdbcCategoryManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
ProductItemManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.ProductItemManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.item.
JdbcProductItemManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
item.JdbcProductItemManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.CustomDataManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.query.
CatalogQueryManager -->
      <method>
        <ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.CatalogQueryManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.data.
EpmCustomDataManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.EpmCustomDataManager
</ejb-name>
<method-name>*</method-name>
</method>

<!-- com.beasys.commerce.ebusiness.catalog.service.query.
JdbcCatalogQueryManager -->
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
query.JdbcCatalogQueryManager
</ejb-name>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.order.
OrderManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
  </method-permission>
  ...
</assembly-descriptor>

Note: The <method> tag without a <method-intf> specifies the <method-name> on both the Home and Remote interfaces.

In this case, the assembly descriptor specifies that users in the AnonymousRole and CustomerRole can access the following methods in the com.beasys.commerce.ebusiness.catalog.CategoryManager JavaBean:

Note: Users in the AnonymousRole only can also access all methods for the Home interface of the CategoryManager JavaBean.

Users in the the AnonymousRole and CustomerRole can also access the following methods in the com.beasys.commerce.ebusiness.catalog.service.
category.CategoryManager
and com.beasys.commerce.ebusiness.catalog.
service.category.JdbcCategoryManager
JavaBeans:

Note: Users in the AnonymousRole only can also access all methods for the Home interface of the CategoryManager and JdbcCategoryManager JavaBeans.

Users in the AnonymousRole and CustomerRole can also access the following methods of the com.beasys.commerce.ebusiness.catalog.service.item.
ProductItemManager
and com.beasys.commerce.ebusiness.catalog.
service.item.JdbcProductItemManager
JavaBeans:

Note: Users in the AnonymousRole only can also access all methods for the Home interface of the ProductItemManager and JdbcProductItemManager JavaBeans.

Users in the AnonymousRole can also access all methods in the Home and Remote interfaces for the following JavaBeans:

Users in the CustomerRole can also access all methods in the Home and Remote interfaces for the following JavaBeans:

Lastly, users in the CustomerRole can access all Home methods for the com.beasys.commerce.ebusiness.order.OrderManager JavaBean.

For users in the AdministrativeRole, access to all methods in the Home and Remote interfaces is granted for each of the E-business JavaBeans, excluding com.beasys.commerce.ebusiness.order.OrderManager, to which users are only granted access to the methods in the Home interface.

Security-Role Assignments

Within the ebusiness.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the E-business stateless session and entity JavaBeans, as shown in Listing 3-19. In this case, the security role CustomerRole is assigned to the wlcs_customer principal, the AdministrativeRole to the admin principal, and the AnonymousRole to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-19 Security Role Assignments for the E-business JavaBeans

<security-role-assignment> 
   <role-name>CustomerRole</role-name>
<principal-name>wlcs_customer</principal-name>
</security-role-assignment> 
<security-role-assignment>
    <role-name>AdministrativeRole</role-name>
<principal-name>admin</principal-name>
</security-role-assignment>
<security-role-assignment>
    <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment>

 


ejbadvisor.jar

The ejbadvisor.jar file contains an EJB that provides the personalization Advisor and advislet framework. For more information about the Advisor, see "Creating Personalized Applications with the Advisor" in the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-8 lists the enterprise JavaBean that is defined within the ejbadvisor.jar file's ejb-jar.xml deployment descriptor.

Table 3-8 ejbadvisor.jar ejb-jar.xml EJB Definition

Name

Type

com.bea.commerce.platform.advisor.EjbAdvisor

Stateless session


 

Assembly Descriptor

Within the ejbadvisor.jar file, the ejb-jar.xml deployment descriptor registers the EjbAdvisor stateless session JavaBean with the application assembly descriptor shown in Listing 3-20.

Listing 3-20 Assembly Descriptor Element for the EjbAdvisor JavaBean

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission> 
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.advisor.
EjbAdvisor</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
 ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the EjbAdvisor JavaBean's Home interface.

Security-Role Assignments

Within the ejbadvisor.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the EjbAdvisor stateless session JavaBean, as shown in Listing 3-21. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-21 Security Role Assignments for the EjbAdvisor JavaBean

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


events.jar

The events.jar file contains an EJB that provides the Event Service. For more information about the Event Service, see the Events and Behavior Tracking documentation.

Enterprise Bean Definitions

Table 3-9 lists the enterprise JavaBean that is defined within the events.jar file's ejb-jar.xml deployment descriptor.

Table 3-9 events.jar ejb-jar.xml EJB Definition

Name

Type

EventService

Stateless session


 

Assembly Descriptor

Within the events.jar file, the ejb-jar.xml deployment descriptor registers the EventService stateless session JavaBean with the application assembly descriptor shown in Listing 3-22.

Listing 3-22 Assembly Descriptor Element for the EventService JavaBean

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission> 
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.advisor.
EventService</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
 ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the EventService JavaBean's Home interface.

Security-Role Assignments

Within the events.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the EventService stateless session JavaBean, as shown in Listing 3-23. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-23 Security Role Assignments for the EventService JavaBean

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


foundation.jar

The foundation.jar file is a collection of EJBs that provides the property set definitions, the property manager, and the Pipeline execution service. For more informaion about property sets and property set management, see "Creating and Managing Property Sets" in the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-10 lists the enterprise JavaBeans that are defined within the events.jar file's ejb-jar.xml deployment descriptor.

Table 3-10 foundation.jar ejb-jar.xml EJB Definitions

Name

Type

com.beasys.commerce.foundation.property.Schema

Entity

com.beasys.commerce.foundation.property.
EntityPropertyAggregator

Stateless session

com.beasys.commerce.ebusiness.catalog.service.data.
EntityPropertyManager

Stateless session

com.beasys.commerce.foundation.property.
EntityPropertyManager

Stateless session

com.beasys.commerce.foundation.property.
LDAPEntityPropertyManager

Stateless session

com.beasys.commerce.foundation.property.
DirectPropertyManager

Stateless session

com.beasys.commerce.foundation.property.SchemaManager

Stateless session

com.beasys.commerce.foundation.pipeline.
PipelineExecutor

Stateless session


 

Assembly Descriptor

Within the foundation.jar file, the ejb-jar.xml deployment descriptor registers the Foundation stateless session and entity JavaBeans with the application assembly descriptor shown in Listing 3-24.

Listing 3-24 Assembly Descriptor Element for the Foundation JavaBeans

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission> 
      <role-name>AnonymousRole</role-name>
       <method>
<ejb-name>com.beasys.commerce.foundation.property.
EntityPropertyAggregator
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.ebusiness.catalog.service.
data.EntityPropertyManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.foundation.property.
EntityPropertyManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.foundation.property.
LDAPEntityPropertyManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.foundation.property.
DirectPropertyManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.foundation.property.
SchemaManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.beasys.commerce.foundation.pipeline.
PipelineExecutor
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
 ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the each of the Foundation JavaBeans' Home interfaces.

Security-Role Assignments

Within the foundation.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Foundation stateless session and entity JavaBeans, as shown in Listing 3-25. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-25 Security Role Assignments for the Foundation JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


mail.jar

The mail.jar file contains an EJB that provides the outbound Mail Service. The Mail Service uses the JavaMail API to send campaign-related messages to customers, in batches. For more information about the Mail Service, see "How Campaigns Use the Mail Service" in the Developing Campaign Infrastructure documentation.

Enterprise Bean Definitions

Table 3-11 lists the enterprise JavaBean that is defined within the mail.jar file's ejb-jar.xml deployment descriptor.

Table 3-11 mail.jar ejb-jar.xml EJB Definition

Name

Type

MailService

Stateless session


 

Assembly Descriptor

Within the mail.jar file, the ejb-jar.xml deployment descriptor registers the MailService stateless session JavaBean with the application assembly descriptor shown in Listing 3-26.

Listing 3-26 Assembly Descriptor Element for the MailService JavaBean

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <security-role> 
<description>Administrative Users</description>
<role-name>AdminRole</role-name>
</security-role>
   <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>sendMail</method-name>
</method>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>addToBatch</method-name>
</method>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getTextFromJSP</method-name>
</method>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getJSPResults</method-name>
</method>
   </method-permission>
   <!-- Permissions for the AdminRole -->
   <method-permission>
      <role-name>AdminRole</role-name>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>MailService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
  ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the MailService JavaBean's Home interface, and the following methods in the Remote interface:

Further, users within the security role AdminRole will be granted access to all the methods in the MailService JavaBean's Home and Remote interfaces.

Security-Role Assignments

Within the mail.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the MailService stateless session JavaBean, as shown in Listing 3-27. In this case, the security role AnonymousRole is assigned to the everyone principal, and the AdminRole is assigned to the admin and system principals.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-27 Security Role Assignments for the MailService JavaBean

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 
<security-role-assignment>
    <role-name>AdminRole</role-name>
<principal-name>admin</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>

 


placeholder.jar

The placeholder.jar file is a collection of EJBs that provide the placeholder, ads, and ad bucket services. For more information, see "Working with Ad Placeholders" in the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-12 lists the enterprise JavaBeans that are defined within the placeholder.jar file's ejb-jar.xml deployment descriptor.

Table 3-12 placeholder.jar ejb-jar.xml EJB Definitions

Name

Type

com.bea.commerce.platform.placeholder.
PlaceholderService

Stateless session

com.bea.commerce.platform.ad.AdBucketService

Stateless session

com.bea.commerce.platform.ad.AdConflictResolver

Stateless session

com.bea.commerce.platform.ad.AdService

Stateless session


 

Assembly Descriptor

Within the placeholder.jar file, the ejb-jar.xml deployment descriptor registers the Placeholder stateless session JavaBeans with the application assembly descriptor shown in Listing 3-28.

Listing 3-28 Assembly Descriptor Element for the Placeholder JavaBeans

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <security-role> 
<description>Administrative Users</description>
<role-name>AdminRole</role-name>
</security-role>
   <!-- Permissions for the AnonymousRole -->
   <method-permission>
   <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getContent</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>previewContent</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>setPreviewSlot</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>removePreviewSlot</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getContent</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>userAddAd</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>globalAddAd</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>previewContent</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdConflictResolver
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdConflictResolver</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>

<!-- Permissions for the AdminRole -->
   <method-permission>
      <role-name>AdminRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.placeholder.
PlaceholderService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdBucketService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdConflictResolver
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdConflictResolver</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdService
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
      <method>
<ejb-name>com.bea.commerce.platform.ad.
AdService
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
   </method-permission>
 ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in each of the Placeholder JavaBeans' Home interface. The com.beasys.commerce.platform.ad.
AdConflictResolver
and com.beasys.commerce.platform.ad.AdService JavaBeans also give users in the AnonymousRole access to the methods in their Remote interfaces.

The com.beasys.commerce.platform.placeholder.PlaceholderService JavaBean allows users in the AnonymousRole to access the following methods in its Remote interface:

The com.beasys.commerce.platform.ad.AdBucketService JavaBean allows users in the AnonymousRole to access the following methods in its Remote interface:

Further, users within the security role AdminRole will be granted access to all the methods in each of the Placeholder JavaBeans' Home and Remote interfaces.

Security-Role Assignments

Within the placeholder.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Placeholder stateless session JavaBeans, as shown in Listing 3-29. In this case, the security role AnonymousRole is assigned to the everyone principal, and the AdminRole is assigned to the admin and system principals.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-29 Security Role Assignments for the Placeholder JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 
<security-role-assignment>
    <role-name>AdminRole</role-name>
<principal-name>admin</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>

 


portal.jar

The portal.jar file is a collection of EJBs that provide the portal server.

Enterprise Bean Definitions

Table 3-13 lists the enterprise JavaBeans that are defined within the portal.jar file's ejb-jar.xml deployment descriptor.

Table 3-13 portal.jar ejb-jar.xml EJB Definitions

Name

Type

ejb.portal.Category

Entity

ejb.portal.ColumnInformation

Entity

ejb.portal.GroupPersonalization

Entity

ejb.portal.PortalDefinition

Entity

ejb.portal.PortalGroupHierarchy

Entity

ejb.portal.PortalHierarchy

Entity

ejb.portal.PortalManager

Stateless session

ejb.portal.PortalPersonalization

Entity

ejb.portal.PortletDefinition

Entity

ejb.portal.UserPersonalization

Entity


 

Security-Role References

In addition, the ejb-jar.xml deployment descriptor contains security-role reference elements for the ejb.portal.PortalManager stateless session JavaBean. These elements, shown in Listing 3-30, enable the EJB to do programmatic security checking, if such behavior is desired.

Listing 3-30 Security-Role Reference in PortalManager JavaBean

<security-role-ref>
   <description>This ref declares the Anonymous role for this
bean</description>
   <role-name>AnonymousRole</role-name>
<role-link>AnonymousRole</role-link>
</security-role-ref>

Note: For information on the differences between declarative and programmatic security, see the "Security" chapter in the Java 2 Platform Enterprise Edition Specification, v1.3.

Assembly Descriptor

Within the portal.jar file, the ejb-jar.xml deployment descriptor registers the Portal entity and stateless session JavaBeans with the application assembly descriptor shown in Listing 3-31.

Listing 3-31 Assembly Descriptor Element for the Portal JavaBeans

<assembly-descriptor>
   <security-role> 
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
   <method-permission>
       <role-name>AnonymousRole</role-name>
       <method>
<ejb-name>ejb.portal.PortalManager</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name
</method>
   </method-permission>
 ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the ejb.portal.PortalManager JavaBean's Home interface.

Security-Role Assignments

Within the portal.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the Portal stateless session and entity JavaBeans, as shown in Listing 3-32. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-32 Security Role Assignments for the Portal JavaBeans

<security-role-assignment> 
   <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment> 

 


priceService.jar

The priceService.jar file contains an EJB that provides the dynamic product pricing engine. For more information, see "Price Service" in the Discounts chapter of the Managing Purchases and Processing Orders documentation.

Enterprise Bean Definitions

Table 3-14 lists the enterprise JavaBean that is defined within the priceService.jar file's ejb-jar.xml deployment descriptor.

Table 3-14 priceService.jar ejb-jar.xml EJB Definition

Name

Type

PriceService

Stateless session


 

Assembly Descriptor

Within the priceService.jar file, the ejb-jar.xml deployment descriptor does not register the PriceService stateless session JavaBean with an application assembly descriptor, nor does it define security roles or grant permissions on the JavaBean's methods. This is because PriceService is an EJB that had no security constraints.

Note: Other EJBs that have no security constraints may still have content within the <assembly-descriptor> element. These EJBs were written for a prior release of the BEA WebLogic Server, which required a <method> element for the Home interface even if all methods in the EJB were open.

Security-Role Assignments

Because there are no security contraints on the priceService stateless session JavaBean, the weblogic-ejb-jar.xml deployment descriptor does not define any security role assignments for it.

Note: For more information about security roles and principals, see What Is a Security Role?.

 


rules.jar

The rules.jar file contains an EJB that provides the Rules Manager, which is the public interface to the rules engine. For more information, see "Introducing the Rules Manager" in the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-15 lists the enterprise JavaBean that is defined within the rules.jar file's ejb-jar.xml deployment descriptor.

Table 3-15 rules.jar ejb-jar.xml EJB Definition

Name

Type

com.bea.commerce.platform.rules.manager.RulesManager

Stateless session


 

Assembly Descriptor

Within the rules.jar file, the ejb-jar.xml deployment descriptor registers the RulesManager stateless session JavaBean with the application assembly descriptor shown in Listing 3-33.

Listing 3-33 Assembly Descriptor Element for the RulesManager JavaBean

<assembly-descriptor>
    <security-role>
<description>Administrative Users</description>
<role-name>AdministrativeRole</role-name>
</security-role>
    <security-role>
<description>Rule Reading Users</description>
<role-name>RulesReaderRole</role-name>
</security-role>
    <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
    <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager</ejb-name>
<method-intf>Remote</method-intf>
<method-name>evaluateRuleSet</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AnonymousRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager</ejb-name>
<method-intf>Remote</method-intf>
<method-name>evaluateRule</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AdministrativeRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>setRuleSet</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AdministrativeRole</role-name>
<role-name>RulesReaderRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getRuleSet</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AdministrativeRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>getRuleSets</method-name>
</method>
    </method-permission>
    <method-permission>
      <role-name>AdministrativeRole</role-name>
      <method>
<ejb-name>com.bea.commerce.platform.rules.manager.
RulesManager
</ejb-name>
<method-intf>Remote</method-intf>
<method-name>removeRuleSet</method-name>
</method>
    </method-permission>                      
  ...
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the RulesManager JavaBean's Home interface. Additionally, users within the AnonymousRole will be granted access to the evaluateRuleSet and evaluateRule methods in the Remote interface.

Users in the AdministrativeRole will be granted access to the setRuleSet, getRuleSet, getRuleSets, and removeRuleSet methods in the RulesManager JavaBean's Remote interface. Users in the RulesReaderRole will also be granted access to the getRuleSet method in the Remote interface.

Security-Role Assignments

Within the rules.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the RulesManager stateless session bean, as shown in Listing 3-34. In this case, the security role AdministrativeRole is assigned to the admin and system principals, the RulesReaderRole is assigned to the wlcm_internal principal, and the AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-34 Security Role Assignments for the RulesManager JavaBean

<security-role-assignment>
    <role-name>AdministrativeRole</role-name>
<principal-name>admin</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>
<security-role-assignment>
    <role-name>RulesReaderRole</role-name>
<principal-name>wlcm_internal</principal-name>
</security-role-assignment>
<security-role-assignment>
    <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment>

 


servicemgr.jar

The servicemgr.jar file contains an EJB that provides version information.

Enterprise Bean Definitions

Table 3-16 lists the enterprise JavaBean that is defined within the servicemgr.jar file's ejb-jar.xml deployment descriptor.

Table 3-16 servicemgr.jar ejb-jar.xml EJB Definition

Name

Type

com.beasys.commerce.servicemanager.
CommerceServiceManager

Stateless session


 

Assembly Descriptor

Within the servicemgr.jar file, the ejb-jar.xml deployment descriptor registers the CommerceServiceManager stateless session JavaBean with the application assembly descriptor shown in Listing 3-35.

Listing 3-35 Assembly Descriptor Element for the CommerceServiceManager JavaBean

<assembly-descriptor>
      <security-role>
<description>Anonymous Users</description>
<role-name>AnonymousRole</role-name>
</security-role>
    <method-permission>
          <role-name>AnonymousRole</role-name>
          <method>
<ejb-name>com.beasys.commerce.servicemanager.
CommerceServiceManager
</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
    </method-permission>
</assembly-descriptor>

In this case, the assembly descriptor specifies that users within the security role AnonymousRole will be granted access to all the methods in the CommerceServiceManager JavaBean's Home interface.

Security-Role Assignments

Within the servicemgr.jar file, the weblogic-ejb-jar.xml deployment descriptor defines the security role assignments for the CommerceServiceManager stateless session JavaBean, as shown in Listing 3-36. In this case, the security role AnonymousRole is assigned to the everyone principal.

Note: For more information about security roles and principals, see What Is a Security Role?.

Listing 3-36 Security Role Assignments for the CommerceServiceManager JavaBean

<security-role-assignment>
    <role-name>AnonymousRole</role-name>
<principal-name>everyone</principal-name>
</security-role-assignment>

 


uupexample.jar

The uupexample.jar file contains an EJB that provides an example of the Unified User Profile (UUP). For more information about UUP, see "Unified User Profiles" in the Creating and Managing Users chapter of the Building Personalized Applications documentation.

Enterprise Bean Definitions

Table 3-17 lists the enterprise JavaBean that is defined within the uupexample.jar file's ejb-jar.xml deployment descriptor.

Table 3-17 uupexample.jar ejb-jar.xml EJB Definition

Name

Type

examples.usermgmt.UnifiedUser

Entity


 

Assembly Descriptor

Within the uupexample.jar file, the ejb-jar.xml deployment descriptor does not register the UnifiedUser entity JavaBean with an application assembly descriptor, nor does it define security roles or grant permissions on the JavaBean's methods. This is because UnifiedUser is an EJB that had no security constraints.

Note: Other EJBs that have no security constraints may still have content within the <assembly-descriptor> element. These EJBs were written for a prior release of the BEA WebLogic Server, which required a <method> element for the Home interface even if all methods in the EJB were open.

Security-Role Assignments

Because there are no security contraints on the UnifiedUser entity JavaBean, the weblogic-ejb-jar.xml deployment descriptor does not define any security role assignments for it.

Note: For more information about security roles and principals, see What Is a Security Role?.

 

back to top previous page next page