Documentation

(de:jvx:server:security)

Using DBSecurityManager

Translations of this page:

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:

create.sql
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:

config.xml
<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.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information