Konfiguracja uprawnień dostępu
Przegląd opcji konfiguracyjnych dla Nette Security.
Jeśli nie używasz całego frameworka, ale tylko tej biblioteki, przeczytaj, jak wczytać konfigurację.
W konfiguracji można zdefiniować listę użytkowników, tworząc w ten sposób prosty autentykator (Nette\Security\SimpleAuthenticator
).
Ponieważ w konfiguracji podaje się hasła w czytelnej postaci, to rozwiązanie jest odpowiednie tylko do celów testowych.
security:
# wyświetlić panel użytkownika w Tracy Bar?
debugger: ... # (bool) domyślnie jest true
users:
# nazwa: hasło
frantisek: tajnehaslo
# nazwa, hasło, role i inne dane dostępne w tożsamości
dobrota:
password: tajnehaslo
roles: [admin]
data: ...
Dalej można zdefiniować role i zasoby, tworząc w ten sposób podstawę dla autoryzatora (Nette\Security\Permission
):
security:
roles:
guest:
registered: [guest] # registered dziedziczy po guest
admin: [registered] # a po nim dziedziczy admin
resources:
article:
comment: [article] # zasób dziedziczy po article
poll:
Przechowywanie
Można skonfigurować, jak przechowywać informacje o zalogowanym użytkowniku:
security:
authentication:
# po jakim czasie nieaktywności użytkownik zostanie wylogowany
expiration: 30 minutes # (string) domyślnie nieustawione
# gdzie przechowywać informacje o zalogowanym użytkowniku
storage: session # (session|cookie) domyślnie jest session
Jeśli wybierzesz jako przechowywanie cookie
, możesz ustawić jeszcze te opcje:
security:
authentication:
# nazwa cookie
cookieName: userId # (string) domyślnie jest userid
# domeny, które akceptują cookie
cookieDomain: 'example.com' # (string|domain)
# ograniczenie przy dostępie z innej domeny
cookieSamesite: None # (Strict|Lax|None) domyślnie jest Lax
Usługi DI
Te usługi są dodawane do kontenera DI:
Nazwa | Typ | Opis |
---|---|---|
security.authenticator |
Nette\Security\Authenticator | autentykator |
security.authorizator |
Nette\Security\Authorizator | autoryzator |
security.passwords |
Nette\Security\Passwords | hashowanie haseł |
security.user |
Nette\Security\User | aktualny użytkownik |
security.userStorage |
Nette\Security\UserStorage | przechowywanie |