Den DBSecurityManager verwenden

Dokumente für die Entwicklung von und mit JVx.

Den DBSecurityManager verwenden

Postby Development@SIB » Thu Jun 10, 2010 2:08 pm

Eine übliche Anforderung an Business Anwendungen ist die Benutzer Authentifizierung. Im Grunde eine triviale Anforderung, doch die Umsetzung ist alles andere als einfach. Je nachdem wie sehr eine Anwendung in die bestehende Infrastruktur eingegliedert werden muss, desto komplexer wird die Umsetzung, z.B. Single Sign On.

Das JVx Framework ermöglicht die Integration jedes beliebigen Authentifizierungs-Systems. Durch das Security Manager Konzept ist es jederzeit möglich ein neues System zu unterstützen.

Bereits implementiert wurden der XmlSecuritymanager und DBSecurityManager. Der DBSecurityManager prüft einen Benutzernamen und Passwort gegen eine Benutzertabelle in der Datenbank.

Diese Tabelle ist z.B. wie folgt definiert:

Code: Select all
CREATE TABLE USERS
(
  ID INTEGER IDENTITY,
  USERNAME VARCHAR(255) NOT NULL,
  PASSWORD VARCHAR(255) NOT NULL,
  CHANGE_PASSWORD CHAR(1) DEFAULT 'N',
  VALID_FROM TIMESTAMP,
  VALID_TO TIMESTAMP,
  ACTIVE CHAR(1) DEFAULT 'Y',
  FIRST_NAME VARCHAR(20),
  LAST_NAME VARCHAR(20),
  EMAIL VARCHAR(255),
  PHONE VARCHAR(20),
  CONSTRAINT USR_PK PRIMARY KEY(ID),
  CONSTRAINT USR_NAME_UK UNIQUE(USERNAME)
)


Damit der Security Manager verwendet wird muss die Konfiguration, config.xml, angepasst werden:

Code: Select all
<application>
  ...
  <securitymanager>
    <class>com.sibvisions.rad.server.security.DBSecurityManager</class>
    <database>
      <url>jdbc:derby://localhost:1527/demo</url>
      <username>user</username>
      <password>pwd</password>
    </database>
  </securitymanager>
  ...
</application>


Alles weitere wird nun von JVx erledigt:

  • Benutzername prüfen
  • Passwort prüfen
  • Gültigkeit prüfen
  • Aktivierung prüfen

Für die Implementierung von alternativen Authentifizierungs-Systemen siehe Einen SecurityManager implementieren.
User avatar
Development@SIB
 
Posts: 311
Joined: Mon Sep 28, 2009 1:54 pm

Return to Dokumentation