Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Konfiguration Ihrer Datenbank » Datenbankoptionen » Einführung in Datenbankoptionen » Alphabetische Liste der Optionen

 

post_login_procedure-Option [Datenbank]

Gibt eine Prozedur an, deren Ergebnismenge Meldungen enthält, die von Anwendungen angezeigt werden sollen, wenn ein Benutzer eine Verbindung herstellt.

Zulässige Werte

Zeichenfolge

Standardwert

post_login_procedure-Systemprozedur

Bereich

DBA-Berechtigung ist erforderlich.

Bemerkungen

Wenn die Option post_login_procedure auf etwas Anderes als eine leere Zeichenfolge gesetzt ist, können Anwendungen die Prozedur aufrufen, die von der Option als Teil des Verbindungsprozesses angegeben ist, um zu bestimmen, welche Meldungen ggf. dem Benutzer angezeigt werden. Die Option sollte im Format Eigentümer.Funktionsname sein, um zu verhindern, dass Benutzer die Funktion außer Kraft setzen.

Das SQL Anywhere-Plug-In für Sybase Central, Interactive SQL und "dbisqlc" rufen die Prozedur auf, wenn diese Option gesetzt ist, und zeigen von der Prozedur zurückgegebene Meldungen in einem Fenster an. Andere Anwendungen, die nicht in SQL Anywhere enthalten sind, sollten angepasst werden, um die von dieser Option verfügbar gemachte Prozedur aufzurufen und Meldungen anzuzeigen, falls Sie diese Funktionalität benötigen.

Ein Fall, bei dem eine Anwendung möglicherweise eine Meldung bei Verbindungsherstellung anzeigen muss, wäre die Benachrichtigung an Benutzer, deren Kennwort abzulaufen droht, falls ein Kennwortablaufdatum implemetiert ist. Diese Funktionalität kann verwendet werden, um den Benutzer bei jeder Verbindungsherstellung zu benachrichtigen, falls das Kennwort in den nächsten Tagen ablaufen wird, und dies, bevor es tatsächlich abläuft.

Die von dieser Option angegebene Prozedur muss eine Ergebnismenge mit einer oder mehreren Zeilen und zwei Spalten zurückgeben. Die erste Spalte vom Typ VARCHAR(255) gibt den Text der Meldung oder NULL zurück, wenn es keine Meldung gibt. Die zweite Spalte vom Typ INT gibt den Aktionstyp zurück. Folgende Werte für Aktionen sind zulässig:

  • 0   Die Meldung anzeigen (falls vorhanden)

  • 1   Die Meldung anzeigen und den Benutzer zu einer Kennwortänderung auffordern

  • 2-99   Reserviert

  • 100 und höher   Benutzerdefiniert

Das SQL Anywhere-Plug-In, dbisql, und dbisqlc zeigen alle Nicht-NULL-Meldungen an, unabhängig vom Aktionswert. Wenn die Aktion auf 1 gesetzt ist, fordern das SQL Anywhere-Plug-In und dbisql (aber nicht dbisqlc) den Benutzer auf, das Kennwort zu ändern, und setzen dann das neue Kennwort auf den benutzerdefinierten Wert.

Ein Beispiel, das post_login_procedure verwendet und erweiterte Kennwortregeln enthält sowie ein Kennwortablaufdatum implementiert, finden Sie unter "Eine Kennwort-Überprüfungsfunktion verwenden".

Siehe auch
Beispiel

Das folgende Beispiel verwendet eine Prozedur mit Namen p_post_login_check, die Benutzer warnt, dass ihr Kennwort abzulaufen droht, und sie auffordert, das Kennwort zu ändern.

CREATE PROCEDURE DBA.p_post_login_check( )
RESULT( message_text VARCHAR(255), message_action INT )
BEGIN
  DECLARE message_text        CHAR(255);
  DECLARE message_action     INT;
  
  -- assume the password_about_to_expire variable was 
  -- set by the login procedure
  IF password_about_to_expire = 1 THEN
    SET message_text = 'Your password is about to expire';
    SET message_action = 1;
  ELSE
    SET message_text = NULL;
    SET message_action = 0;
  END IF;
  -- return message (if any) through this result set
  SELECT message_text, message_action;
END;

GRANT EXECUTE ON DBA.p_post_login_check TO PUBLIC;

SET OPTION PUBLIC.post_login_procedure = 'DBA.p_post_login_check';