Beispiel: Erweiterten Portletimplementierungsdeskriptor zum Inaktivieren von PortletServingServlet konfigurieren
Die Bereitstellung von Portlet-URLs unterstützt den direkten Zugriff auf alle Funktionen und Status eines Portlets durch Erstellung der entsprechenden URLs. In einem Produktions-Setup, in dem das Portlet über eine Unternehmensportalanwendung bereitgestellt wird, die eine eigene Zugriffssteuerung einsetzt, stellt dies ein Sicherheitsrisiko dar. Ein Administrator kann sicherstellen, dass der Zugriff auf ein sensibles Portlet über direkte URL-Bereitstellung verhindert wird, indem er die Eigenschaft "portletServingEnabled" auf "false" setzt.
Erweiterungen für den Portletimplementierungsdeskriptor sind in der Datei ibm-portlet-ext.xmi definiert. Dieser Implementierungsdeskriptor ist ein optionaler Deskriptor, den Sie für die Konfiguration von WebSphere-Erweiterungen für eine Portletanwendung und ihre Portlets verwenden können. Sie können beispielsweise das Servlet "PortletServingServlet" für die Portletanwendung im erweiterten Portletimplementierungsdeskriptor inaktivieren.
Die Erweiterungsdatei ibm-portlet-ext.xmi wird beim Anwendungsstart geladen. Wenn keine Erweiterungsdateien mit dieser Einstellung angegeben wurden, werden die Standardwerte des Portletcontainers verwendet.
Der Standardwert für das Attribut "portletServingEnabled" ist true. Das folgende Beispiel zeigt, wie Sie eine Anwendung so konfigurieren, dass das Servlet "PortletServingServlet" nicht für jedes Portlet in der Portletanwendung erstellt wird.
<?xml version="1.0" encoding="UTF-8"?>
<portletappext:PortletApplicationExtension xmi:version="1.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:portletappext="portletapplicationext.xmi"
xmlns:portletapplication="portletapplication.xmi"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmi:id="PortletApp_ID_Ext"
portletServingEnabled="false">
<portletappext:portletApplication href="WEB-INF/portlet.xml#myPortletApp"/>
</portletappext:PortletApplicationExtension>