USER Management in SQL übergreifend auf JAVA Programm

P

Paraba

Mitglied
Guten Tag Liebe Community,

habe Probleme bei einer Implementierung von User Management, da ich leider im Internet nichts dazu finde was mir weiterhelfen konnte richte ich mich nun an euch.

Aufgabenstellung:

There should be some user management implemented for the program:

New hotels can only be added when a super user password (which is stored in the database) is known.

Each hotel has its own password that is defined when the hotel is created.

The information about a hotel can only be changed if the super user password or the password of the hotel is known.

The same applies to the occupational information about a hotel.

Habe die Datenbank und den Java Coder fertig jedoch habe ich leider keine Ahnung wie ich ein Super User in SQL anlege und den danch in JAVA nutzen kann.

Freue mich über Antworten Hilfestellungen oder Links zu Informationen.

LG
 
D

Dukel

Top Contributor
Ist das eine Aufgabe? Ist das ein Projekt?
Es gibt unterschiedliche Möglichkeiten eine Benutzerverwaltung zu implementieren.
 
D

Dukel

Top Contributor
Und wie sieht die DB bei dir aus?
Du musst kein Superuser anlegen, nur ein Passwort (gehasht, auch wenn es nicht gefordert ist. Klartextpasswörter in DB gewöhnt man sich nicht an!) zu jedem Hotel und als "Superuserpasswort".
 
P

Paraba

Mitglied
Ist eine ganz normale SQL Datenbank haben vorgefertigte Daten die wir einspeisen und können Hotels/Tabellen/Belegung usw hinzufügen/verändern. Wie kann ich das einstellen das wenn ich ein neues Hotel anlege es automatisch ein Passwort bekommt ? Und wie lege ich das an das dich eine Passwortabfrage bekomme wenn ich ein Hotel hinzufügen möchte ?
 
D

Dukel

Top Contributor
Du brauchst halt in der Tabelle der Hotels eine Spalte für das Passwort. Dann musst du beim erstellen eines Hotels neben dem Hotel ein Passwort speichern (manuell oder zufällig). Bei der Änderung der Hotel Infos fragst du das Passwort ab.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Hilfestellung, wie du in der Datenbank eine ganz normale Spalte hinzu fügst?
Oder Hilfestellung, wie du diese Spalte in Java abfragst und mit dem eingegebenen Passwort vergleichst?
Oder wie du die Spalte beim Anlegen eines neuen Hotels füllst?

Bei der Aufgabenstellung würde ich erwarten, dass du das alles grundsätzlich können solltest – an der Aufgabe ist nichts besonderes, womit hast du denn Probleme? :)
 
P

Paraba

Mitglied
Eine ganz normale Spalte hinzufügen ist natürlich kein Problem.

Ich habe in Java mein GUI mit Buttons, wo ich ein Hotel anlegen kann und laut der Angabe müsste ich wenn ich ein Hotel anlegen möchte ein Fenster öffnen wo ich das Super Passwort oder das Hotel spezifische Passwort eintragen müsste und da habe ich leider keine Ahnung wie das zu bewerkstelligen ist.

Ja ich weiß, dass ich in SQL eine Spalte zu Hotel hinzufüge wo ich das Passwort eintrage kann gibt es eine Möglichkeit das es Automatisch generiert wird ?

Das Super Passwort generiere ich in der Spalte Passwörter oder in der Allgemeinen Database?

LG
 
T

temi

Top Contributor
Eine ganz normale Spalte hinzufügen ist natürlich kein Problem.

Ich habe in Java mein GUI mit Buttons, wo ich ein Hotel anlegen kann und laut der Angabe müsste ich wenn ich ein Hotel anlegen möchte ein Fenster öffnen wo ich das Super Passwort oder das Hotel spezifische Passwort eintragen müsste und da habe ich leider keine Ahnung wie das zu bewerkstelligen ist.

Ja ich weiß, dass ich in SQL eine Spalte zu Hotel hinzufüge wo ich das Passwort eintrage kann gibt es eine Möglichkeit das es Automatisch generiert wird ?

Das Super Passwort generiere ich in der Spalte Passwörter oder in der Allgemeinen Database?
Letztendlich legst du ja fest, wie die Passworte aussehen. Im einfachsten Fall wären die Passworte also einfach ein String, der in der DB gespeichert ist, was man so natürlich niemals machen würde. Stattdessen würde man aus dem Passwort-String einen (kryptografischen) Hashwert generieren und diesen in der DB speichern. Bei der Abfrage des Passwortes wird dann später der Hashwert des eingegebenen Passwortes mit dem in der DB gespeicherten verglichen.

Beim Anlegen eines Hotels könntest du also einfach den "Superuser" (der das Hotel anlegt) nach dem neuen Passwort für das neue Hotel fragen und verfahren, wie oben beschrieben.

Ein zufällig generiertes Passwort (geht auch) müsstest du dem User wenigstens mitteilen, sonst kann sich ja niemand anmelden.

Die Passwort-Hashes der einzelnen Hotels könnten in der Hotel-Tabelle als Spalte gespeichert werden. Dann brauchst du halt eine separate Tabelle in der das Superuser-Passwort gespeichert ist, weil der Superuser ist ja kein Hotel. Oder du hast eine separate Tabelle User - Passwort, in der einmal der Superuser gespeichert ist und auch die weiteren Hotel-Passworte.
 
Zuletzt bearbeitet:
D

Dukel

Top Contributor
Für diese Aufgabe würde ich ggf. das SuperUser-Passwort im Quellcode (gehasht, wie alle anderen Passwörter) hinterlegen. Produktiv würde ich da eher eine "Konfiguration" DB / Tabelle erstellen und dort diverse Einstellungen hinterlegen.
Auch die Benutzerverwaltung (AD, OAuth,...) an einen externen Dienst "übergeben" ist eine gute Idee.
 
P

Paraba

Mitglied
Vielen Dank für die vielen Ideen jedoch leider schaffe ich sie nicht richtig zu implementieren/umzusetzen.
 
P

Paraba

Mitglied
Die Aufgabe muss in SQL und JAVA gemacht werden, da ich jetzt schon ziemlich verzweifelt bin und es nicht hinkriege frage ich ob mir jemand hilft und mit mir über den Code geht und mir hilft das zu lösen muss das morgen abgegeben sonst werde ich negativ beurteilt.

Habe alle meines Studienkollegen schon um Hilfe gefragt aber leider kann diesen Auftrag keiner lösen.
 
Zuletzt bearbeitet:
P

Paraba

Mitglied
Das wäre der SQL.





USE master;

GO

IF (exists(SELECT * FROM sys.sysdatabases WHERE name='Tourist_Office'))
BEGIN
ALTER DATABASE Tourist_Office SET single_user WITH ROLLBACK IMMEDIATE;
DROP DATABASE Tourist_Office;
END
GO

CREATE DATABASE Tourist_Office

GO

CREATE LOGIN TestUser_SP WITH PASSWORD = 'TestPasswort_SP';

GO

USE Tourist_Office

CREATE USER TestUser_SP FOR LOGIN TestUser_SP

EXEC sp_addrolemember db_datareader, TestUser_SP
EXEC sp_addrolemember db_datawriter, TestUser_SP

GO


USE Tourist_Office;

CREATE TABLE Hotel (

id INT PRIMARY KEY,
category VARCHAR(5) CHECK (category IN ('*','**', '***', '****', '*****' )),
name VARCHAR(max),
owner VARCHAR(max),
contact VARCHAR(max),
address VARCHAR(max),
city VARCHAR(max),
cityCode VARCHAR(max),
phone VARCHAR(max),
noRooms INT CHECK (noRooms > 0),
noBeds INT CHECK (noBeds > 0)
)


CREATE TABLE Occupancy (
HotelID INTEGER NOT NULL,
FOREIGN KEY (HotelID) REFERENCES Hotel ( id ),
year INT CHECK (year >= 2015),
month INT CHECK (month BETWEEN 1 AND 12),
usedRooms INT CHECK (usedRooms >= 0),
usedBeds INT CHECK (usedBeds >= 0),
noRooms INT CHECK (noRooms > 0),
noBeds INT CHECK (noBeds > 0)

)

ALTER TABLE HOTEL
ADD familyFriendly BIT
ALTER TABLE HOTEL
ADD Spa BIT
ALTER TABLE HOTEL
ADD Dog BIT
ALTER TABLE HOTEL
ADD Fitness BIT





INSERT INTO Hotel(id, category, name) VALUES (331,'***','Gasthof Hotel Raymund' )
INSERT INTO Hotel VALUES (640,'**','Privatzimmer Familie Wagner','Rüben von Rübenfeld Perine', 'Wanac Tamea', 'Wienerstraße 33', 'Pöchlarn', 3380, 6412446,11, 1 )
Delete from Hotel
INSERT INTO Hotel VALUES (110,'****','Ferienhäuser','Dionysius Jawad', 'Rubas Theminh', '3512 Unterbergern', 'Unterbergern', 3512, 8897234,46, 40 )
UPDATE hotel SET noBeds = (noBeds+2) WHERE category like '***'
UPDATE hotel SET noRooms = (noRooms+2) WHERE category like '***'
Select * into hotel_2020_05_06 from Hotel
select * from Hotel where name like 'Test'
Select * from Occupancy WHERE year = 2015 AND month = 11
Select * from Occupancy



select * from hotel_2020_05_06
Select * from hotel
Select * into occupancy_2020_06_05 from Occupancy
 
mihe7

mihe7

Top Contributor
Code-Tags: die drei Punkte neben dem Smiley, dort Code, anschließend die Sprache (Java/SQL) auswählen und ins Textfeld einfügen. Macht jetzt beim SQL nicht das große Problem, beim Java-Code bitte auf jeden Fall.
 
P

Paraba

Mitglied
Ich kann höchstens die ganze Java Datei als ZIP hochladen da der Code hunderte Zeilen hat.
 
P

Paraba

Mitglied
Mihe nein da ich nicht genau weiß was du meinst. Tut mir leid kleine Angewohnheit von mir JAVA Java.

Leider ist die ZIP-Datei zu groß zum hochladen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kr0e User management system Allgemeine Java-Themen 2
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
NicoDeluxe Logfile pro User / Thread Allgemeine Java-Themen 7
W Java Telegram Bot - Eingabe durch User Allgemeine Java-Themen 2
T Loginname von User an PC im Netzwerk holen Allgemeine Java-Themen 2
K Jar/DLL Abhängigkeiten durch User angeben lassen Allgemeine Java-Themen 6
VfL_Freak JDK installieren System-Property "user.dir" Allgemeine Java-Themen 6
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
Thallius User-Settings: Wie handelt ihr das? Allgemeine Java-Themen 4
Bananabert Swing jtree : image als user object Allgemeine Java-Themen 2
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
S Random Passwort für den User + Hashen Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
T User Verwaltung mit JPA Allgemeine Java-Themen 2
B Java FTP (common net - user anlegen) Allgemeine Java-Themen 2
C Input/Output Beste Möglichkeit für user non-readable Datei Allgemeine Java-Themen 7
D Daten eines User auslesen. Allgemeine Java-Themen 5
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2
B User-Input aus Zahlen und Operatoren - beste Umsetzung? Allgemeine Java-Themen 8
H blinde MAC User Allgemeine Java-Themen 15
H user.dir + verknüpfung Allgemeine Java-Themen 5
S "Guessed User name" bei Tomcat belegen Allgemeine Java-Themen 2
G Java Anwendung für Multi-User Allgemeine Java-Themen 2
K Chatengine User auf Chatbot Allgemeine Java-Themen 3
S Änderung an Proberties datei an alle User weitergeben? Allgemeine Java-Themen 7
P URL mit htaccess in Explorer öffnen (ohne user-passwort) Allgemeine Java-Themen 6
K JUnit 4 User Interaktion Allgemeine Java-Themen 7
P System.getProperty("user.dir") Allgemeine Java-Themen 10
B User Login: JPasswordField + JPasswordField_wdh vergleichen Allgemeine Java-Themen 2
J Suse + Tomcat + Sysdeo Plugin: Tomcat als user starten Allgemeine Java-Themen 2
T User-Kennung im Source hinterlegen? Allgemeine Java-Themen 4
T System.getProperty("user.home") Allgemeine Java-Themen 12
S Simple User Interface Frage Allgemeine Java-Themen 13
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
D NT User auslesen aus windows 2000 Allgemeine Java-Themen 2
A Synchronisation Datenquelle und Anwendung (Multi-User) Allgemeine Java-Themen 7
D System.getProperty("user.dir") ? Allgemeine Java-Themen 1
H Zugriff auf statische Methode durch mehrere User Allgemeine Java-Themen 19
J User Klasse in den Vector, Object Klasse wieder raus... Allgemeine Java-Themen 4
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
W IDEA IntelliJ Build-Management-Tool selbst programmieren Allgemeine Java-Themen 2
S Java Servlet Cache + Cache-Management Allgemeine Java-Themen 14
N Cashbook Management Testen Allgemeine Java-Themen 7
A Source-Management bei Kunden-Anpassungen Allgemeine Java-Themen 5
G Plugin Management Allgemeine Java-Themen 2
K Multithreading plattform übergreifend? Allgemeine Java-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben