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