AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Benutzer per SQL in Interbase anlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Benutzer per SQL in Interbase anlegen

Ein Thema von Sven Janssen · begonnen am 10. Aug 2005 · letzter Beitrag vom 10. Aug 2005
Antwort Antwort
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#1

Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 11:33
Datenbank: Interbase • Version: 6 • Zugriff über: TIB etc
Moin,

ich Rätsel gerade herum, wie ich über ein eigenes Programm Benutzer im Interbase Server anlegen und auch wieder entfernen kann.
Entweder über eine Komponente, oder direkt per SQL.
Grund ist, das der Kunde nachher die Benutzer selber anlegen soll und nicht über ein Konsolenprogramm gehen soll. Auch möchten wir nicht ständig die Benutzer beim Kunden eintragen wollen. Was bei vielen wegen fehlendem Remote Zugriff gar nicht möglich sein wird.

Also bin ganz offen für eure Vorschläge.

Sven
:wq /dev/null
He who fights with monsters might take care lest he thereby become a monster - Nietzsche
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 11:55
Hi,


da die Benutzer in Interbase (fast) nur zum Spaß da sind, würde ich Dir vorschlagen eine eigene Benutzzerverwaltung zu machen: d.H. es gibt einen DB-User der auf die Datenbank zugreift und beim Anmelden wird der Username/das Passwort mit den entsprechenden Eintragungen einer eigenen Benutzertabelle überprüft.

Wenn Dir das nicht gefällt, dann musst Du entweder über die API direkt gehen oder fertige Komponenten wie TIBSecurity,... nehmen, damit kannst Du dann IB-User anlegen.

Lemmy
  Mit Zitat antworten Zitat
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#3

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 12:03
Warum sollen die nur zum Spaß da sein?
Ich habe die Kontrolle wer online ist, ich kann durch Zugriffsmöglichkeiten Dten speeren, Identifikation usw usw.
Desweiteren kann ich dadurch auch prüfen wieviele User bereits angelegt sind ;-) 10 Lizenzen gekauft, 11 soll eingetragen werden und wird abgelehnt. Ok kann man auch alles so lösen, aber wenn es schon vorhanden ist.

Sven
:wq /dev/null
He who fights with monsters might take care lest he thereby become a monster - Nietzsche
  Mit Zitat antworten Zitat
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#4

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 12:10
Mal ne Frage zu dem TIBSecurityService.
Muss dafür etwas installiert auf dem Rechner der dies ausführt?
Oder reicht der Zugriff auf einen Interbase Server?

Sven
:wq /dev/null
He who fights with monsters might take care lest he thereby become a monster - Nietzsche
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#5

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 12:53
Zitat von Sven Janssen:
Mal ne Frage zu dem TIBSecurityService.
Muss dafür etwas installiert auf dem Rechner der dies ausführt?
Oder reicht der Zugriff auf einen Interbase Server?
Die Komponenten gehören zu IBX, da muss nix auf dem Server installiert werden.

Ich würde es aber auch mit nur einem fest verdrahteten Benutzer machen. Du kannst die Zugriffssteuerung dann über eigene Tabellen realisieren. In der Regel definiert man ja auch Zugriffsrechte innerhalb der Anwendung. Wenn dann jemand den Interbase User löscht sind die Zugriffsrechte ja immer noch in den Tabellen vorhanden. Über kaskadierende Constraints werden dann z.b. auch alle Zugriffsrechte für der Benutzer mitgelöscht wenn dieser entfernt wird:

SQL-Code:
create table usr (
  id varchar(20) not null,
  name varchar(100),
  passwd varchar(20),
  locked smallint,
  constraint pk_usr primary key (id)
)

create table acl (
  id integer not null,
  name varchar(100),
  constraint pk_acl primary key (id)
)

create table usracl (
  usr_id varchar(20) not null,
  acl_id integer not null,
  constraint fk_usr foreign key (usr_id) references usr (id) on delete cascade,
  constraint fk_acl foreign key (acl_id) references acl (id) on delete cascade
)
Das Kennwort der Benutzer solltest Du natürlich nur als Hash speichern.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#6

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 13:36
Ich weiß noch nicht.
Der Aufwand ist mir zu hoch.
Meine Idee ( und das realsiere ich gerade ) lege ich diverse ROLEs an und diese weise ich den einzelnen Benutzern zu.
Über ein eigenes Login Programm melden sich die Benutzer am Server an und greifen mit diesen Login Daten auch auf die Datenbank zu.
Mit einem Tool sollen sich die Anwender eigene Benutzer anlegen können, beim anlegen wird dem Benutzer eine ROLE zugewiesen. Vorteil ist auch das ich über IBDatabaseInfo und auch im IB Server sehe wer auf die Datenbank verbunden ist. Sonst sehe ich dort nur SYBASE oder den Benutzer den ich dafür benutze.

Mit der Installation meinte ich eigentlich etwas anderes.
Muss auf dem Client Rechner auf welchem das Programm läuft was über TIBSecurityService Benutzer anlegt und löscht etwas spezielles installiert sein?
In der Hilfe steht Note: You must install InterBase 6 to use this feature..
Ist damit der Zugriff auf Interbase 6 Datenbanksysteme gemeint, oder muss der Interbase 6 lokal auf dem Computer installiert sein?

Sven
:wq /dev/null
He who fights with monsters might take care lest he thereby become a monster - Nietzsche
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#7

Re: Benutzer per SQL in Interbase anlegen

  Alt 10. Aug 2005, 14:23
Zitat von Sven Janssen:
Vorteil ist auch das ich über IBDatabaseInfo und auch im IB Server sehe wer auf die Datenbank verbunden ist. Sonst sehe ich dort nur SYBASE oder den Benutzer den ich dafür benutze.
Da ich meistens mit einem Dreischichtmodell arbeite war das für mich bisher immer zweitrangig...

Zitat von Sven Janssen:
Muss auf dem Client Rechner auf welchem das Programm läuft was über TIBSecurityService Benutzer anlegt und löscht etwas spezielles installiert sein?
In der Hilfe steht Note: You must install InterBase 6 to use this feature..
Ist damit der Zugriff auf Interbase 6 Datenbanksysteme gemeint, oder muss der Interbase 6 lokal auf dem Computer installiert sein?
Interbase unterstützt erst ab Version 6 die Funktionen für die Benutzerverwaltung. Der Server muss also >= Interbase 6.0 (oder Firebird) sein. Auf dem Client benötigst Du nur die gds32.dll >= 6.0, ein Server muss dort nicht installiert sein.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz