Konfiguracja uprawnień dostępu
Przegląd opcji konfiguracyjnych dla Nette Security.
Jeśli nie używasz całego frameworka, a jedynie tej biblioteki, przeczytaj jak załadować konfigurację.
Możesz zdefiniować listę użytkowników w konfiguracji, aby utworzyć prosty authenticator
(Nette\Security\SimpleAuthenticator
). Ponieważ konfiguracja wymienia hasła w czytelnej formie, rozwiązanie to
nadaje się jedynie do celów testowych.
security:
# pokazać panel użytkownika w Tracy Bar?
debugger: ... # (bool) domyślnie jest true
users:
# nazwa: hasło
frantisek: secretpassword
# nazwa, hasło, rola i inne dane dostępne w tożsamości
dobrota:
password: tajneheslo
roles: [admin]
data: ...
Ponadto można zdefiniować role i zasoby, aby stworzyć podstawę dla autoryzatora (Nette\Security\Permission
):
security:
roles:
guest:
registered: [guest] # zarejestrowany dziedziczy po gościu
admin: [registered] # i dziedziczy po adminie
resources:
article:
comment: [article] # zasób dziedziczy po artykule
poll:
Repozytorium
Można skonfigurować sposób przechowywania informacji o zalogowanym użytkowniku:
security:
authentication:
# po jakim czasie nieaktywności użytkownik zostanie wylogowany
expiration: 30 minutes # (string) default is unset
# gdzie mają być przechowywane informacje o zalogowanym użytkowniku
storage: session # (session|cookie) domyślnie jest session
Jeśli jako miejsce przechowywania wybierzesz cookie
, możesz również skonfigurować następujące opcje:
security:
authentication:
# nazwa ciasteczka
cookieName: userId # (string) domyślnie userid
# domeny, które akceptują ciasteczka
cookieDomain: 'example.com' # (string|domain)
# ograniczenia przy dostępie z innej domeny
cookieSamesite: None # (Strict|Lax|None) domyślnie Lax
Usługi DI
Usługi te są dodawane do kontenera DI:
Nazwa | Typ | Opis |
---|---|---|
security.authenticator |
Nette\Security\Authenticator | authenticator |
security.authorizator |
Nette\Security\Authorizator | authorizer |
security.passwords |
Nette\Security\Passwords | hashowanie hasła |
security.user |
Nette\Security\User | bieżący użytkownik |
security.userStorage |
Nette\Security\UserStorage | przechowywanie |