Skip to content

Commit

Permalink
UserRoles waren nicht unique, Script zum Adminifizieren eines Users
Browse files Browse the repository at this point in the history
  • Loading branch information
Bernd Ritter committed Apr 19, 2024
1 parent a6fc9bc commit abef757
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 28 deletions.
50 changes: 23 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,35 @@ git login git.holarse.de

Jetzt noch die Datenbank initial befüllen mit dem Script
```bash
./setup_db_sql.sh
./tools/scripts/setup_db_sql.sh
```

und die Containerbande starten mit
```bash
docker-compose -f doc/docker-compose.yml up
```

### Kompilieren
Die installierbare WAR-Datei erhält man durch das Bauen mit

mvn clean package

im Hauptverzeichnis, wo sich auch die ```pom.xml``` befindet. Beim ersten Durchlaufen werden die gesamten Abhängigkeiten von
Maven aufgelöst und heruntergeladen.

Ist Tomcat so konfiguriert, dass das ROOT-Verzeichnis auf das Target-Verzeichnis zeigt, dann sollte die Webseite bereits unter http://localhost:8080 angezeigt werden. Sonst kann man die Datei ```/target/holarseweb.war``` über
die Tomcat-Manager-Konsole installieren.

### Apache Artemis Message-Queue
Die Message-Queue ist unter http://localhost:8161 erreichbar.

### Datenbank
Die Datenbank ist unter http://localhost:5432 erreichbar.

### Webseite
### Mails
Der Mailcatcher ist unter http://localhost:8025 erreichbar.

### Webseite
Die Webseite ist unter http://localhost:8080/holarseweb/ erreichbar.

#### Manuelles Deployment
Expand All @@ -69,31 +82,14 @@ Dann kann die Datenbank und der Benutzer manuell auf dem Datenbank-Server via

angelegt werden.

Dann folgt das Schema-Script unter ```doc/db2/01_schema``` ebenfalls noch als postgres-Benutzer mit

psql -h HOST -U postgres -d holarse -W -f 01_*.sql

Dann die weiteren Dateien aufsteigend in den Nummern, bis es keine mehr gibt.

Danach können einige Daten importiert werden. Diese sind unter ```doc/db2/02_data```.
Die Datenbankscripte können, wie oben schon genannt, über das Script ```tools/scripts/setup_db_sql.sh``` eingefügt werden.


An dieser Stelle ist Holarse eingerichtet. Die Daten können nun importiert werden. Danach müssen die Daten noch bereinigt werden mit dem Script:

psql -h HOST -U holarse -d holarse -W -f doc/db/04_after_article_import.sql

Willkommen im HolaCMS 3-Testsystem!

### Kompilieren
Die installierbare WAR-Datei erhält man durch das Bauen mit

mvn clean package

im Hauptverzeichnis, wo sich auch die ```pom.xml``` befindet. Beim ersten Durchlaufen werden die gesamten Abhängigkeiten von
Maven aufgelöst und heruntergeladen.
### Login
Zuerst einen Benutzer über die Oberfläche registrieren und diesen dann per SQL zum Admin erheben:

Ist Tomcat so konfiguriert, dass das ROOT-Verzeichnis auf das Target-Verzeichnis zeigt, dann sollte die Webseite bereits unter http://localhost:8080 angezeigt werden. Sonst kann man die Datei ```/target/holarseweb.war``` über
die Tomcat-Manager-Konsole installieren.
```bash
tools/scripts/make_user_admin.sh DEINBENUTZERNAME
```

### Login
Zuerst einen Benutzer anlegen und diesen dann per SQL zum Admin erheben, indem in die Tabelle ```users_roles``` ein Eintrag mit beiden Foreign-Keys angelegt wird.
# Ende
Willkommen im HolaCMS 3-Testsystem!
4 changes: 3 additions & 1 deletion doc/db2/01_schema/02a_authentication.sql
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ create table users (

create table user_roles (
user_id integer not null references users(id),
role_id integer not null references roles(id)
role_id integer not null references roles(id),

unique(user_id, role_id)
);

create index idx_user_verification_hash on user_status (verification_hash, locked, verified);
Expand Down
6 changes: 6 additions & 0 deletions tools/scripts/make_user_admin.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

PG_PASSWORD=geheim
USER=$1

docker-compose -f doc/docker-compose.yml exec -T db psql -v ON_ERROR_STOP=1 -U holarse -d holarse -c "insert into user_roles(user_id, role_id) values ((select id from users where login = '$USER'), (select id from roles where code = 'ADMIN'));"
2 changes: 2 additions & 0 deletions setup_db_sql.sh → tools/scripts/setup_db_sql.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/bin/bash

BASE_FILES=$(find doc/db2/01_schema/ -type f | sort)
echo $BASE_FILES

Expand Down

0 comments on commit abef757

Please sign in to comment.