Nette Documentation Preview

syntax
Konfigurace přístupových oprávnění
**********************************

.[perex]
Přehled konfiguračních voleb pro Nette Security.

Pokud nepoužívate celý framework, ale jen tuto knihovnu, přečtěte si, [jak konfiguraci načíst|bootstrap:].

V konfiguraci lze definovat seznam uživatelů, a tak vytvořit [jednoduchý authenticator|authentication] (`Nette\Security\SimpleAuthenticator`). Protože se v konfiguraci uvádějí hesla v čitelné podobě, je tohle řešení vhodné pouze pro testovací účely.

```neon
security:
	# zobrazit panel uživatele v Tracy Bar?
	debugger: ...  # (bool) výchozí je true

	users:
		# jméno: heslo
		frantisek: tajneheslo

		# jméno, heslo, role a další data dostupná v identitě
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...
```

Dále lze definovat role a zdroje a vytvořit tak základ pro [autorizátor|authorization] (`Nette\Security\Permission`):

```neon
security:
	roles:
		guest:
		registered: [guest]  # registered dědí od guest
		admin: [registered]  # a od něj dědí admin

	resources:
		article:
		comment: [article]   # zdroj dědí od article
		poll:
```


Úložiště
--------

Lze konfigurovat, jak uchovávat informace o přihlášeném uživateli:

```neon
security:
	authentication:
		# po jak dlouhé době nečinnosti bude uživatel odhlášen
		expiration: 30 minutes        # (string) výchozí je nenastaveno

		# kam ukládat informace o přihlášeném uživateli
		storage: session              # (session|cookie) výchozí je session
```

Pokud zvolíte jako úložiště `cookie`, můžete nastavit ještě tyto volby:

```neon
security:
	authentication:
		# jméno cookie
		cookieName: userId            # (string) výchozí je userid

		# domény, které přijímají cookie
		cookieDomain: 'example.com'   # (string|domain)

		# omezení při přístupu z jiné domény
		cookieSamesite: None          # (Strict|Lax|None) výchozí je Lax
```


Služby DI
---------

Tyto služby se přidávají do DI kontejneru:

| Název           | Typ                        | Popis
|----------------------------------------------------------
| `security.authenticator`  |  [api:Nette\Security\Authenticator]  |  [autentikátor|authentication]
| `security.authorizator`   |  [api:Nette\Security\Authorizator]  |  [autorizátor|authorization]
| `security.passwords`      |  [api:Nette\Security\Passwords]  |  [hashování hesel|passwords]
| `security.user`           |  [api:Nette\Security\User]  |  aktuální uživatel
| `security.userStorage`    |  [api:Nette\Security\UserStorage]  |  [úložiště|#úložiště]

Konfigurace přístupových oprávnění

Přehled konfiguračních voleb pro Nette Security.

Pokud nepoužívate celý framework, ale jen tuto knihovnu, přečtěte si, jak konfiguraci načíst.

V konfiguraci lze definovat seznam uživatelů, a tak vytvořit jednoduchý authenticator (Nette\Security\SimpleAuthenticator). Protože se v konfiguraci uvádějí hesla v čitelné podobě, je tohle řešení vhodné pouze pro testovací účely.

security:
	# zobrazit panel uživatele v Tracy Bar?
	debugger: ...  # (bool) výchozí je true

	users:
		# jméno: heslo
		frantisek: tajneheslo

		# jméno, heslo, role a další data dostupná v identitě
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...

Dále lze definovat role a zdroje a vytvořit tak základ pro autorizátor (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # registered dědí od guest
		admin: [registered]  # a od něj dědí admin

	resources:
		article:
		comment: [article]   # zdroj dědí od article
		poll:

Úložiště

Lze konfigurovat, jak uchovávat informace o přihlášeném uživateli:

security:
	authentication:
		# po jak dlouhé době nečinnosti bude uživatel odhlášen
		expiration: 30 minutes        # (string) výchozí je nenastaveno

		# kam ukládat informace o přihlášeném uživateli
		storage: session              # (session|cookie) výchozí je session

Pokud zvolíte jako úložiště cookie, můžete nastavit ještě tyto volby:

security:
	authentication:
		# jméno cookie
		cookieName: userId            # (string) výchozí je userid

		# domény, které přijímají cookie
		cookieDomain: 'example.com'   # (string|domain)

		# omezení při přístupu z jiné domény
		cookieSamesite: None          # (Strict|Lax|None) výchozí je Lax

Služby DI

Tyto služby se přidávají do DI kontejneru:

Název Typ Popis
security.authenticator Nette\Security\Authenticator autentikátor
security.authorizator Nette\Security\Authorizator autorizátor
security.passwords Nette\Security\Passwords hashování hesel
security.user Nette\Security\User aktuální uživatel
security.userStorage Nette\Security\UserStorage úložiště