Configuration Files for the Sample Residential Portal Overview
The ssportal.war file contains the following configuration files in the WEB-INF directory:
portalBehavior.properties—Specifies properties to configure the portalBehavior servlet that determines the behavior of the sample residential portal.
Modify this file to run the sample residential portal. See WEB-INF/portalBehavior.properties.
web.xml—Specifies the deployment descriptor for the sample residential portal. It describes the servlets, other components, and initialization parameters.
We recommend that you do not change the deployment descriptor.
jboss-web.xml—Contains one configuration property that defines the Web context of the sample residential portal as the root context.
Modify this file to run the sample residential portal in a context other than root. The WEB-INF/jboss-web.xml file is proprietary to the JBoss application server.
struts-config.xml—Contains the configuration for the struts action servlet. See WEB-INF/struts-config.xml.
tiles-defs.xml—Contains the definitions of the tiles template system. The definitions describe the general layout of every webpage used in the sample residential portal. See WEB-INF/tiles-defs.xml.
Set the following properties to configure the portalBehavior servlet to determine the behavior of the sample residential portal, and to connect to the LDAP server.
In addition, configure the other properties listed in the file for the network information collector (NIC) proxy configuration. For information about the values to configure for NIC properties, see SRC PE Network Guide.
Model for handling subscribers who connect using DHCP.
Guidelines—For information about the behaviors, see Installing the Sample Residential Portal.
Method that the portal uses to locate the SAE that is managing the subscriber who tries to access the application.
net.juniper.smgt.ssp.LocalFeatureLocator—Uses the locally configured object reference
If you specify net.juniper.smgt.ssp.LocalFeatureLocator, configure a value for LocalFeatureLocator.objectRef.
net.juniper.smgt.ssp.DistributedFeatureLocator—Uses NIC configuration
CORBA object reference for the single SAE whose address is resolved by the locator. Specify the object reference if you set net.juniper.smgt.ssp.LocalFeatureLocator for Factory.locator.
Value—A reference to the CORBA object in one of the following formats:
The absolute path to the IOR file in the form file://<absolutePath>
The corbaloc URL in the format:
<host>— IP address or host on which the SAE is installed.
<port>—TCP/IP port number for the SAE. The default is 8801.
COS naming service in the format:
where <key> is provided by the publisher of the IOR to the COS naming service.
The actual IOR in the form IOR:<objectReference>
Guidelines—Configure this property to use the portal as a demonstration application in a small environment that does not use NIC.
By default, the SAE does not publish its IOR to a COS naming service.
Virtual router to use in a Packet Cable Multimedia (PCMM) environment as the virtual router on the local machine.
Value—Name of virtual router
Guidelines—Configure this property only if you configured a value for LocalFeatureLocator.objectRef.
Namespace for the NIC proxy configuration.
Guidelines—For the cable behavior to create an assigned IP subscriber, the NIC must resolve an IP address to both the SAE IOR and the name of the virtual router that manages the IP address.
Default—/ which indicates the root namespace
Example—DistributedFeatureLocator.locName = /nicProxy indicates that the NIC proxy configuration is in /nicProxy.
Location of the LDAP server.
Value—ldap://<IP address>:<port number>
Example—ldap://127.0.0.1:389 (default location if you are using the default OpenLDAP installation from the SRC installation).
Location of a backup LDAP server.
Value—ldap://<IP address>:<port number>
The WEB-INF/struts-config.xml file contains the following settings. The file has multiple sections.
Not used by the sample residential portal.
Holds data entered in an HTML form and makes it available to the associated action.
Specifies that the sample residential portal declare one global exception handler, which is invoked for any exception raised during action processing.
Global forwards for handling error situations. The sample residential portal declares a number of global forwards.
unknownUser—Used when an action is processed for a subscriber who is not known by the system. The possible pages are either .error.unknownUser.page, which displays an error message, or .login.page, which asks the user to log in.
nonUniqueUser—Used when a request cannot be mapped to a single subscriber session.
The sample residential portal uses the IP address of the subscriber, preventing this error.
unknownService—Used when a request refers to a service that is not loaded by the SAE. This can happen if services are modified while subscribers are connected to the portal.
unknownSubscription—Used when a request refers to a service to which the current subscriber is not subscribed.
serviceAuthError—Used if authorization for a service is denied; for example, because mutex group restrictions are violated or a plug-in has denied authorization.
loginError—Used if login was unsuccessful.
saeError—Used for SAE internal errors.
error—Used for any other problem.
Actions that each correspond to an interaction of the subscriber with the portal page. The sample residential portal declares a number of actions.
/index—Displays the main page of the portal; collects information about the subscriber requesting the page and forwards it to the .index.page.
/services—Gets information about the subscribed services and forwards to the .services.page.
/activate—Checks whether authentication is required and forwards the request either to the .service.auth.page or back to the .services.page.
Called when the subscriber wants to activate a service.
/deactivate—Forwards the request back to the .services.page.
Called when the subscriber wants to deactivate an active service.
/schedules—Gets information about the service schedule. Allows the subscriber to view and change service schedules. The action forwards the request to the .schedules.page.
/scheduleOperation—Forwards the request back to the .schedules.page.
Called when the subscriber wants to change the service schedule.
/usage—Collects statistics for currently active services and forwards them to the .usage.page.
/account—Allows modification of the activationTrigger property of currently subscribed services. After a change of the activationTrigger property has been processed, the action forwards subscribers to the .account.page.
/subscribe—Allows the subscriber to subscribe to and unsubscribe from services. After processing the subscription change, the action forwards subscribers to the .subscribe.page.
/register—Allows subscribers to register MAC addresses for authenticated DHCP addresses. The action checks whether the subscriber has provided a username and password and forwards the request to the .register.auth.page to enter the username and password or to the .register.page displaying the currently registered equipment.
/unregister—Allows subscribers to remove MAC addresses that are registered for DHCP addresses. The action checks whether the subscriber provided a username and password and forwards the request to the .unregister.auth.page to enter the username and password or to the .unregister.page displaying the currently registered equipment.
/login—Allows the subscriber to log in to the system. If the login causes a switch of the DHCP IP address, the request is forwarded to the wait.page. If the DHCP IP address remains the same after the login, the request is forwarded to the index.page.
/logout—Allows the subscriber to log out of the system. If the logout causes a switch of the DHCP IP address, the request is forwarded to the .wait.page. If the DHCP IP address remains the same after the login, the request is forwarded to the index.page.
/wait—Checks whether the IP address of the current subscriber is authenticated or unauthenticated. If the address is of the wrong type, the request is forwarded to the .wait.page, which will renew itself automatically. If the address is of the expected type, the request is forwarded to .index.page.
/accessDenied—Processes a captive portal request. The request is forwarded only to the .error.accessDenied.page.
Ensures generation of the correct headers for disabling caching of the generated pages.
Base name of the resource bundle. The resource bundle contains message strings in different languages.
The location of the resource file containing messages in English that is shipped with the sample residential portal.
where xx is the two-letter ISO language code, optionally followed by an underline and the two-letter country code; for example, en_CA for English/Canada or zh_TW for Chinese/Taiwan.
To create a sample residential portal that supports other languages, translate the messages and store the translated file in the above location.
The WEB-INF/tiles-defs.xml file contains the following settings.
Main definition that specifies the general structure of all pages. The layout is based on a common template file, /layouts/common.jsp. The definition contains values for template variables shared by all page definitions.
title—Common title of all pages.
header—Page fragment displaying the header section of the pages.
menu—Page fragment displaying the menu bar.
footer—Page fragment displaying the footer section of the pages.
body—Page fragment displaying the content of the pages. The default setting is empty and should be overwritten by individual page definitions.
color—Color scheme used the by pages. A color scheme consists of a style sheet (style_sheets/color.css) and a set of images (stored in images/color). The predefined color schemes are blue and green.
menuTag—Action name of the current page. The menu bar code uses this tag to highlight the action associated with the current page.
Provides an extension of the main layout that defines a version of the page without a menu bar.
Provides the definition of portal pages. These pages are used for forwards in the action-mappings section of the struts-config.xml file. The page definitions extend one of the common layouts and define the value of the body variable as appropriate.