frickerg / Web-Engineering-3

MAS SE (CAS 3) 2024
0 stars 0 forks source link

Login-handling and role-based resource access control #90

Closed jvanf closed 1 month ago

jvanf commented 1 month ago

closes #68 #69 #70

jvanf commented 1 month ago

@frickerg @g0tcoffee

im Ticket #68 wird beschrieben, dass "Manage Cards"-Link für "Player"-Rollen auszublenden sei allerdings muss das Routing nicht unterbunden werden.

muss nicht aber darf? mit diesem PR, wird mithilfe der PrivateRoute Komponente das Routing unterbunden und Ben wird im Frontend die Manage Cards Fläche für den Player ausblenden. Nach mir wäre das mit dem PrivateRoute dann ein freiwilliger Zusatzaufwand aber nicht falsch..

Korrekt? einverstanden/einwände?

Auch hier eine weitere Phrase die ich gefunden habe und wiedersprüchlich halte: "Cards nur laden, wenn Benutzer Rolle "Admin" hat. Im UI ausblenden, sowie API via Access-Token schützen." Also die Karten müssen schon geladen bzw. gefetched werden egal ob 'admin' oder 'player' angemeldet ist aber man darf die Detail-Ansicht (ManageCards) nur als admin erreichen. Richtig?

Sorry, eventuell bin ich zu müde aber iwie finde ich seine Aussagen teilweise sehr wiedersprüchlich :laughing:

jvanf commented 1 month ago

Ebenfalls etwas für das Augenmerk:

localstorage verwendung an mehreren orten da eventuell besser zum testen..

Access Controll ist nun komplett implementiert und bedeuted muss gegen die specs geprüft werden. ich finde das ist es aber wäre nicht schnlecht wenn man dies ebenfalls gegenprüft...

g0tcoffee commented 1 month ago

@jvanf @frickerg

Wegen PrivateRoute Komponente / Manage-Cards-Link für Player-Rollen ausblenden: Bin einverstanden mit dem Vorgehen. Wenn ich das richtig erinnere, wurde die Anforderung mit der Spefizikation "Routing kann bestehen bleiben" im Unterricht extra so gestellt, weil es sonst zu viel für den Rahmen des Projekts wäre.

Wegen Cards nur laden, wenn Benutzer Rolle "Admin" hat etc.:

Also die Karten müssen schon geladen bzw. gefetched werden egal ob 'admin' oder 'player' angemeldet ist aber man darf die Detail-Ansicht (ManageCards) nur als admin erreichen. Richtig?

Ich bin auch ein bisschen verwirrt. Die Karten sollen nur bei angemeldetem Admin geladen werden und nicht beim Player, der darf nur das Game starten / spielen / beenden- aber der Game Context lädt die Karten ja im State. Darum gehe ich auch davon aus und stimme dir zu: Cards initial laden / fetchen und Zugriff auf Cards vor allen schützen, die keine eingeloggten Admins sind durch Access Token seitens API und UI ausblenden seitens UI (und PrivateRoute Komponente als optionale Extrameile). Die Logik gliedert sich auch in den Entwurf der Beispiel-Architektur auf F5 (Projekt 2 Architektur) ein.

g0tcoffee commented 1 month ago

Sieht gut aus!

**Anforderungen aus #68

**Anforderungen aus #69

Anforderungen aus #70

Einen Käfer habe ich gefunden - denke, der ist jedoch nicht im Rahmen unseres Projekts.