Nette Documentation Preview

syntax
Konfiguracja uprawnień dostępu
******************************

.[perex]
Przegląd opcji konfiguracyjnych dla Nette Security.

Jeśli nie używasz całego frameworka, a jedynie tej biblioteki, przeczytaj [jak załadować konfigurację |bootstrap:].

Możesz zdefiniować listę użytkowników w konfiguracji, aby utworzyć [prosty authenticator |authentication] (`Nette\Security\SimpleAuthenticator`). Ponieważ konfiguracja wymienia hasła w czytelnej formie, rozwiązanie to nadaje się jedynie do celów testowych.

```neon
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 |authorization] (`Nette\Security\Permission`):

```neon
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 .[#toc-user-storage]
---------------------------------

Można skonfigurować sposób przechowywania informacji o zalogowanym użytkowniku:

```neon
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:

```neon
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 .[#toc-di-services]
-----------------------------

Usługi te są dodawane do kontenera DI:

| Nazwa | Typ | Opis
|----------------------------------------------------------
| `security.authenticator` | [api:Nette\Security\Authenticator] | [authenticator |authentication]
| `security.authorizator` | [api:Nette\Security\Authorizator] | [authorizer |authorization]
| `security.passwords` | [api:Nette\Security\Passwords] | [hashowanie hasła |passwords]
| `security.user` | [api:Nette\Security\User] | bieżący użytkownik
| `security.userStorage` | [api:Nette\Security\UserStorage] | [przechowywanie |#User Storage]

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