4.7 KiB
4.7 KiB
Správa uživatelů - Xtream Player
Přehled
Uživatelé jsou ukládáni v H2 databázi (~/.xtream-player/users.db). Aplikace vytvoří výchozího uživatele admin/admin při prvním spuštění, pokud žádní uživatelé neexistují.
UserManager - Nástroj pro správu uživatelů
K přidání, smazání nebo úpravě uživatelů slouží třída UserManager, kterou lze spustit jako standalone aplikaci.
Spuštění interaktivního režimu
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager
Zobrazí menu s následujícími možnostmi:
- Přidat uživatele
- Smazat uživatele
- Aktualizovat heslo
- Vypsat všechny uživatele
- Ověřit heslo
- Odejít
Použití z příkazové řádky
Přidat uživatele
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager add username password
Smazat uživatele
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager delete username
Aktualizovat heslo
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager update username new_password
Vypsat všechny uživatele
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager list
Ověřit heslo
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager verify username password
Příklady
Přidať nového administrátora
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager add admin123 MySecurePassword123
Změnit heslo existujícího uživatele
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager update admin newPassword456
Zobrazit všechny uživatele
java -cp target/xtream-player-1.0.0.jar cz.kamma.xtreamplayer.UserManager list
Výstup:
╔═══╦════════════════════╦═══════════════════════════════╦═══════════════════════════════╗
║ ID║ Username ║ Created At ║ Updated At ║
╠═══╬════════════════════╬═══════════════════════════════╬═══════════════════════════════╣
║ 1║ admin ║ 2026-03-09 10:30:45.123 ║ 2026-03-09 10:30:45.123 ║
║ 2║ admin123 ║ 2026-03-09 10:35:12.456 ║ 2026-03-09 10:35:12.456 ║
╚═══╩════════════════════╩═══════════════════════════════╩═══════════════════════════════╝
Total: 2 user(s)
Architektura
UserStore
- Třída:
cz.kamma.xtreamplayer.UserStore - Odpovědnost: Správa perzistentního úložiště uživatelů v H2 databázi
- Metody:
initialize()- Initialisace databázové tabulkycreateUser(username, password)- Vytvoří nového uživateleupdatePassword(username, newPassword)- Změní heslodeleteUser(username)- Odstraní uživatelegetUser(username)- Retrieves uživatelegetAllUsers()- Načte všechny uživateleverifyPassword(username, password)- Ověří heslouserExists(username)- Zkontroluje existenci
UserAuthenticator
- Třída:
cz.kamma.xtreamplayer.UserAuthenticator - Odpovědnost: Správa session tokenů a přihlašování
- Metody:
authenticate(username, password)- Přihlášení a vygenerování tokenuvalidateToken(token)- Ověření tokenuisTokenValid(token)- Kontrola validity tokenurevokeToken(token)- Zrušení tokenu
UserManager
- Třída:
cz.kamma.xtreamplayer.UserManager - Odpovědnost: CLI nástroj pro správu uživatelů
- Režimy:
- Interaktivní - Menu-driven UI
- Příkazová řádka - Přímá spuštění příkazů
Bezpečnost
- Hesla jsou hashována pomocí SHA-256 a zakódována v Base64
- Session tokeny jsou generovány pomocí
SecureRandoma mají platnost 24 hodin - Databáze je chráněna stejně jako ostatní aplikační data v
~/.xtream-player/
Migrace ze starý verze
Pokud upgradujete z verze bez databázové autentizace:
- Aplikace automaticky vytvoří nový soubor
~/.xtream-player/users.db - Výchozí uživatel
admin/adminbude vytvořen automaticky - Můžete přidat nebo upravit uživatele pomocí
UserManager