SecurityModule¶
A SecurityModule feladata egy alkalmazáshoz kapcsolódó authentikáció és authorizáció megvalósítása. Az alábbiakban a modul funkcionalitásának részletes bemutatása következik. Első lépésben az alap beállításokat mutatjuk be, ezután az authentikációs lehetőségek következnek végén pedig az authorizáció működését mutatjuk be.
Függőségek¶
Itt azoknak a moduloknak a listáját találod, amelyek szükségesek a SecurityModule működéséhez:
DatabaseModule (kötelező)
FrameModule (opcionális)
MailerModule (opcionális)
Importálás¶
A modules.json-höz egyszerűen hozzá kell adni a következő bejegyzést:
"Security": []
Ebben az esetben a modul egyszerű jelszavas authentikációt biztosít, authorizáció nélkül, 900 másodperces session lifetime-mal (15 perc).
Paraméterek¶
admin: Admin email cím amit a rendszer telepítésénél regisztrál be
auth_modes: Használható authentikációs módok felsorolása
auth_selector: Authentikációs mód választó neve vagy hivatkozás a metódusra
sess_exp_time: Session lifetime
permissions: Route-okra definiált jogosultságok.
Paraméter: admin¶
A AUTH_REMOTE authentikációs módot leszámítva minden esetben szükség lehet egy admin felhasználó beállítására. Az admin felhasználót az alkalmazás telepítésénél generálja a modul. Azért, hogy ne legyen beégetve jelszó a konfigurációs fájlba az admin felhasználóhoz csak egy email cím megadása a szükséges. Az alkalmazás indítása után az elfelejtett jelszó funkciót használva lehet jelszót beállítani az admin felhasználónak. (Az admin felhasználó a telepítéskor jön létre.)
Például, ha azt szeretnénk, hogy az admin felhasználóhoz tartozó email cím a admin@mysystem.com legyen:
"Security": {
"admin": "admin@mysystem.com",
}
Paraméter: auth_modes¶
Az auth_modes paraméterrel lehet beállítani, hogy az alkalmazásban milyen authentikácós módokat tudnak használni a felhasználók. Az authentikációs módok közül párhuzamosan több is használható. Azt, hogy éppen melyik legyen aktív a auth_selector paraméter beállításával tudjuk módosítani. A következő authentikációs módokat támogatja:
AUTH_BASIC: Alap felhasználónév és jelszó authentikáció
AUTH_TWO_FACTOR: Alap authentikáció két-faktorossal kiegészítve
AUTH_JWT: JSON Web Token authentikáció
AUTH_REMOTE: Távoli rendszeren keresztüli authentikáció
Az authentikációs módokról és paraméterezési lehetőségeiről bővebben az Authentikáció alfejezetben olvashatsz.
Az előző példát folytatva, csak AUTH_BASIC-et használva (alapméretezett beállításaival):
"Security": {
"admin": "admin@mysystem.com",
"auth_modes": [
"auth_basic": []
]
}