Autor Beitrag
Wuschl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mo 28.10.02 15:30 
Hallo! :)

Ich hab da ein kleines problem bei dem mir die lösung als anfänger etwas schwerfällt!
Also ich habe eine SQL-Tabelle in der verschieden Userdaten für eine Internetanwendung gespeichert sind (Nickname, Vorname, Passwort etc.) wie ist es mir jetzt möglich einen bestimmte User zu sperren, also das er sich nicht mehr einloggen kann??? Wäre für jede Hilfe dankbar!! :wink:

mfg
Wuschl
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 29.10.02 07:37 
Hallo Wuschl,

in der Regel legst du bei SQL Datenbanken als Admin USER Fest, die Zugriff auf bestimmte Datenbanken haben sollen. Diese kannst du auch wieder löschen, so dass der entsprechende User keinen Zugriff mehr hat.

Welches Datenbankmanagementsystem nutzt du denn? Interbase?

_________________
Live long and prosper
MrSpock \\//
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 29.10.02 08:32 
Also mit Interbase hab ich noch nichts gemacht! MySQL Front habe ich zum editieren benutzt! Aber ich glaub du hast mich sowieso etwas falsch verstanden, ich will nicht die zugriffsrechte für die sperren die auf die datenbank zugreifen und sie verändern können sondern die leute deren daten in der datenbank eingetragen sind (wie eben passwort, username etc) und deren zugang zu einer webpage eben oder so dann gesperrt wird!
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 29.10.02 08:57 
Also, das ist so eine Web-Anwendung, ja?

Dann ändere doch einfach das Passwort des Benutzers in dieser Tabelle. Dann kann er sich ja nicht mehr einloggen.

Cu,
Udontknow
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 29.10.02 09:02 
Hallo Wuschl,

ich bin mir nicht sicher, ob ich das jetzt richtig verstanden habe :nut: . Wenn in der Tabelle alle Nutzer stehen, die Zugriff haben und du den Zugriff für einen bestimmten Nutzer sperren möchtest, könntest du ja diesen aus der Tabelle löschen :!: :?: Bzw. eine neue Tabelle anlegen, die nur die Nutzer enthält, die Zugriff haben. Du könntest alternativ ein neues Feld hinzufügen z.B. canExecute, das anzeigt, ob der Nutzer die Anwendung starten darf oder nicht. Vor dem Start der Anwendung wertest du das Feld dann aus und verweigerst ggf. die Ausführung.

_________________
Live long and prosper
MrSpock \\//
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 29.10.02 09:03 
Ne ist keine webanwendung, das war jetzt nur als beispiel, ich realisiere das schon mit delphi! Ich wollte einfach z.B ne Checkbox machen mit gesperrt JA/Nein klar könnte ich da das passwort ändern aber wär dann etwas umständlich wenn ich die sperre wieder wegnehmen will wie?

mfg
Wuschl
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 29.10.02 09:07 
danke spock, aber hättest du mir da vielleicht ein kleines beispiel?
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 29.10.02 10:16 
Hallo Wuschl,

also zunächst müsstest du die Tabelle "User" ändern:

ausblenden Quelltext
1:
2:
ALTER TABLE User 
  ADD canExecute INTEGER


Als Typ habe ich mal Integer gewählt, weil nicht alle SQL Datenbanken Boolean Werte oder SMALLINT unterstützen.

Der Wert 0 wäre dann "nicht erlaubt".

Du kannst dann einen Nutzer ausschließen, indem du den Wert des Users im Feld canExecute auf 0 setzt:

ausblenden Quelltext
1:
UPDATE User Set canExecute=0 WHERE ID = 123					


Im Programm liest du den Wert des Feldes

ausblenden Quelltext
1:
SELECT canEcexute FROM User WHERE ID=123					


und weist dann, ob der Nutzer das Programm Starten darf oder nicht.

_________________
Live long and prosper
MrSpock \\//
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 29.10.02 10:19 
Du willst also nur vorübergehen den Zugriff auf bestimmte Tabellen oder die ganze Datenbank sperren, aber der User soll noch da bleiben? Dann erkundige Dich mal nach dem SQL-Befehl GRANT

Kenne die Syntax im Moment nicht genau, aber da kannst Du festlegen, welche Rechte ein User bei bestimmten Tabellen oder ich glaub auch die gesamte Datenbank hat.

[Edit]: OK, habs auch falsch verstanden.... *g* Bin heute morgen wohl noch nicht ganz auf den Beinen. Dann is natürlih die Lösung über mir etwas besser *g*.
Wuschl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Di 29.10.02 10:49 
Ok dankde ich probiers mal aus ;)

mfg
Wuschl