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
wersja: 4.0