Erstellen einer automatischen Anmeldeseite für externe Benutzerclients

Für einige externe Benutzerclientanwendungen ist keine Benutzerauthentifizierung erforderlich; folglich sollten kein Benutzername und kein Kennwort angefordert werden. Es ist nicht möglich, die Authentifizierung in IBM Cúram Social Program Management zu inaktivieren; für diese Voraussetzung ist es daher das Einfachste, ein automatisches Anmeldescript zu schreiben.

Das automatische Anmeldescript verwendet einen fest codierten Benutzernamen und ein entsprechendes Kennwort und stellt diese Angaben als Authentifizierungsinformationen bereit, wenn es eine entsprechende Anforderung gibt. Dies bedeutet, dass alle Benutzer einer solchen Anwendung immer unter demselben Benutzernamen agieren. Die Verwendung eines solchen Scripts muss auf wahre Open Access-Anwendungen beschränkt sein.

Bei der Implementierung von Anwendungen, für die eine automatische Anmeldung erforderlich ist, müssen die Auswirkungen auf das Sitzungsmanagement berücksichtigt werden. Beim Sitzungsmanagement von IBM Cúram Social Program Management werden die Sitzungsinformationen eines Benutzers gepflegt, um bei der Wiederanmeldung des Benutzers die relevanten Sitzungsinformationen zu gewährleisten; d. h., die Registerkarten und die Navigationsstrukturen werden an der Stelle geöffnet, an der der Benutzer sie verlassen hat. Im Fall eines Benutzers, der automatisch angemeldet wurde, müssen diese Informationen nicht gepflegt werden; daher muss das Sitzungsmanagement in diesem Szenario möglicherweise ausgeschaltet werden. Im Referenzhandbuch zu Cúram Web Client finden Sie weitere Details zum Ausschalten des Sitzungsmanagements.

Im Folgenden sehen Sie Beispiele für JSP-Scripts zur automatischen An- und Abmeldung.

Anmerkung: Sicherheitsimplementierungen und -konfigurationen sind von Anwendungsserveranbieter zu Anwendungsserveranbieter unterschiedlich; daher funktionieren diese Beispiele möglicherweise nicht in allen Fällen bzw. für alle Anwendungsserverversionen.
Abbildung 1. JSP für automatische Anmeldung
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:prefix="URI"
  version="2.0">
  <jsp:directive.page buffer="32kb"
                      contentType="text/html; charset=UTF-8"
                      pageEncoding="UTF-8" />
  <jsp:text>
    <![CDATA[
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">]]>
  </jsp:text>

  <!-- Automatic redirect to login security check of user
          details specified below -->

  <html>
    <head>
      <script type="text/javascript">
        function autoSubmit() {
          document.getElementById("loginform").submit();
        }
      </script>
      <meta content="text/html; charset=UTF-8"
            http-equiv="Content-Type" />
    </head>
    <body class="logonBody"
          style="visibility: hidden;"
          onload="autoSubmit()">
      <form id="loginform"
            name="loginform"
            action="j_security_check"
            method="post">
        <input type="hidden"
               name="j_username"
               value="generalpublic" />
        <input type="hidden"
               name="j_password"
               value="password" />
        <input type="hidden"
               name="user_type"
               value="EXTERNAL" />
      </form>
    </body>
  </html>
</jsp:root>
Abbildung 2. JSP für automatische Abmeldung
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:prefix="URI"
  version="2.0">
  <jsp:directive.page buffer="32kb"
                      contentType="text/html; charset=UTF-8"
                      pageEncoding="UTF-8" />
  <jsp:text>
    <![CDATA[
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">]]>
  </jsp:text>
  <html>
    <head>
      <script type="text/javascript">
        function autoSubmit() {
          document.getElementById("logout").submit();
        }
      </script>
      <meta content="text/html; charset=UTF-8"
            http-equiv="Content-Type" />
    </head>
    <body class="logoutBody"
          style="visibility: hidden;"
          onload="autoSubmit()">
      <form id="logout"
            name="logout"
            action="servlet/ApplicationController"
            method="post">
        <input type="submit"
               name="j_logout"
               value="Log Out" />
        <input type="hidden"
               name="logoutExitPage"
               value="redirect.jsp" />
      </form>
    </body>
  </html>
</jsp:root>