Datenbankverbindung und Steuerung von DBForms

Neben der normalen Properties-Konfiguration muss außerdem der Verbindungsparameter für die Servlets von DBFORMS gesetzt werden.

Die zentrale Steuerungsdatei heißt dbforms-config.xml und liegt im Verzeichnis SUPERX_DIR/webserver/tomcat/webapps/superx/WEB-INF. Dort liegt bereits ein Muster mit dem Namen kern_dbforms-config_pg.xml für Postgres bzw. kern_dbforms-config_ids.xml für Informix. Diese Datei wird bei der Installation automatisch kopiert nach dbforms-config.xml.

Die Datenbankverbindung wird in der server.xml konfiguriert.  und am Ende der Datei die Connection-Attribute angeben. Die Parameter sind identisch mit denen, die Sie in der db.properties angeben.

 

Detaillierte Dokumentation zum Connection Logging sowie allgemein zu DBForms (leider nur in Englisch) finden Sie im beigefügten DBForms-Handbuch im Verzeichnis doc/dbforms des Kernmoduls.

Wenn Sie die DBFORMS-Komponente nicht  benötigen bzw. aus Sicherheitsgründen für eine externe Website abschalten wollen, gehen Sie wie folgt vor:

Aktion

Code

Sperren Sie das dbforms-Servlet in der Datei $SUPERX_DIR/webserver/tomcat/webapps/superx/WEB-INF/web.xml, indem Sie die rechts blau markierten Kommentarzeichen um die entsprechenden Elemente setzen.

...
<!--=========== DbForms Controller Servlet ==============-->    
   
<!--<servlet>
      <servlet-name>control</servlet-name>
      <servlet-class>org.dbforms.servlets.Controller</servlet-class>

      <init-param>
        <param-name>maxUploadSize</param-name>
        <param-value>80000</param-value>
      </init-param>
    </servlet>
-->

    <!--===========
DbForms FileServlet =====================-->
   
<!--<servlet>
      <servlet-name>file</servlet-name>
      <servlet-class>org.dbforms.servlets.FileServlet</servlet-class>   
      <load-on-startup>2</load-on-startup>
    </servlet>
-->
...
<!--==== Controller Servlet and FileServlet Mappings========-->
   
<!--<servlet-mapping>
      <servlet-name>control</servlet-name>
      <url-pattern>/servlet/control</url-pattern>
    </servlet-mapping> 

    <servlet-mapping>
      <servlet-name>file</servlet-name>
      <url-pattern>/servlet/file</url-pattern>
    </servlet-mapping>
-->

Fügen Sie an das Ende der web.xml vor dem End-Tag "</web-app>" folgende Elemente ein

...
<error-page>
<error-code>500</error-code>
<location>/error.htm</location>
</error-page>

</web-app>

Ändern Sie am Ende der Datei $SUPERX_DIR/webserver/tomcat/webapps/superx/WEB-INF/dbforms-config.xml beim  Element dbconnection den Attributnamen "name" auf einen nicht existenten Namen, z.B. "superx1".

<dbconnection id="superx" isJndi="true" name="java:/comp/env/jdbc/superx1"/>

Starten Sie Tomcat neu, und prüfen Sie in der Logdatei $SUPERX_DIR/webserver/tomcat/logs/catalina.out, ob der Tomcat-Start erfolgreich war.

 

Durch diese Maßnahme sind der DBFORMS-Komponente keine Datenbankverbindungen mehr möglich, und das Ausspähen geschützter Dateien in Tomcat-Systemverzeichnissen durch das Control-Servlet ist nicht mehr möglich.
Eine Abschaltung der DBFORMS beeinträchtigt in keiner Weise die "normalen" Funktionen zur Berichtserstellung von SuperX.


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 48 / 277
Letzter Update: 18.08.2008
Impressum