Nette Documentation Preview

syntax
Налаштування контролю доступу
*****************************

.[perex]
Огляд опцій конфігурації для Nette Security.

Якщо ви використовуєте не весь фреймворк, а тільки цю бібліотеку, прочитайте, [як завантажити конфігурацію |bootstrap:].

Ви можете визначити список користувачів у конфігурації для створення [простого аутентифікатора |authentication] (`Nette\Security\SimpleAuthenticator`). Оскільки паролі в конфігурації можна прочитати, це рішення призначене тільки для тестування.

```neon
security:
	# показує призначену для користувача панель у панелі трейсі?
	debugger: ...  # (bool) за замовчуванням true

	users:
		# ім'я: пароль
		johndoe: secret123

		# ім'я, пароль, роль та інші дані, доступні в ідентифікаторі
		janedoe:
			password: secret123
			roles: [admin]
			data: ...
```

Ви також можете визначити ролі та ресурси, щоб створити основу для [авторизатора |authorization] (`Nette\Security\Permission`):

```neon
security:
	roles:
		guest:
		registered: [guest] # registered успадковує від guest
		admin: [registered] # і admin успадковує від registered

	resources:
		article:
		comment: [article]  # ресурс успадковується від article
		poll:
```


Сховище користувачів .[#toc-user-storage]
-----------------------------------------

Ви можете налаштувати спосіб зберігання інформації про користувача, який увійшов у систему:

```neon
security:
	authentication:
		# після якого часу бездіяльності користувач буде виведений із системи
		expiration: 30 minutes        # (рядок) значення за замовчуванням не задано

		# де зберігати інформацію про користувача, який увійшов у систему
		storage: session              # (session|cookie) за замовчуванням session
```

Якщо ви вибрали `cookie` як сховище, ви також можете встановити такі параметри:

```neon
security:
	authentication:
		# печиво jméno
		cookieName: userId            # (string) за замовчуванням - userid

		# яким хостам дозволено отримувати cookie
		cookieDomain: 'example.com'   # (string|domain)

		# обмеження при доступі до крос-оригінального запиту
		cookieSamesite: None          # (Strict|Lax|None) за замовчуванням Lax
```


Послуги з проведення розслідувань .[#toc-di-services]
-----------------------------------------------------

Ці сервіси додаються до контейнера DI:

| Назва | Тип | Опис
|----------------------------------------------------------
| `security.authenticator` | [api:Nette\Security\Authenticator] | [автентифікатор |authentication]
| `security.authorizator` | [api:Nette\Security\Authorizator] | [авторизатор |authorization]
| `security.passwords` | [api:Nette\Security\Passwords] | [хешування пароля |passwords]
| `security.user` | [api:Nette\Security\User] | поточний користувач
| `security.userStorage` | [api:Nette\Security\UserStorage] | [зберігання |#User Storage]

Налаштування контролю доступу

Огляд опцій конфігурації для Nette Security.

Якщо ви використовуєте не весь фреймворк, а тільки цю бібліотеку, прочитайте, як завантажити конфігурацію.

Ви можете визначити список користувачів у конфігурації для створення простого аутентифікатора (Nette\Security\SimpleAuthenticator). Оскільки паролі в конфігурації можна прочитати, це рішення призначене тільки для тестування.

security:
	# показує призначену для користувача панель у панелі трейсі?
	debugger: ...  # (bool) за замовчуванням true

	users:
		# ім'я: пароль
		johndoe: secret123

		# ім'я, пароль, роль та інші дані, доступні в ідентифікаторі
		janedoe:
			password: secret123
			roles: [admin]
			data: ...

Ви також можете визначити ролі та ресурси, щоб створити основу для авторизатора (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest] # registered успадковує від guest
		admin: [registered] # і admin успадковує від registered

	resources:
		article:
		comment: [article]  # ресурс успадковується від article
		poll:

Сховище користувачів

Ви можете налаштувати спосіб зберігання інформації про користувача, який увійшов у систему:

security:
	authentication:
		# після якого часу бездіяльності користувач буде виведений із системи
		expiration: 30 minutes        # (рядок) значення за замовчуванням не задано

		# де зберігати інформацію про користувача, який увійшов у систему
		storage: session              # (session|cookie) за замовчуванням session

Якщо ви вибрали cookie як сховище, ви також можете встановити такі параметри:

security:
	authentication:
		# печиво jméno
		cookieName: userId            # (string) за замовчуванням - userid

		# яким хостам дозволено отримувати cookie
		cookieDomain: 'example.com'   # (string|domain)

		# обмеження при доступі до крос-оригінального запиту
		cookieSamesite: None          # (Strict|Lax|None) за замовчуванням Lax

Послуги з проведення розслідувань

Ці сервіси додаються до контейнера DI:

Назва Тип Опис
security.authenticator Nette\Security\Authenticator автентифікатор
security.authorizator Nette\Security\Authorizator авторизатор
security.passwords Nette\Security\Passwords хешування пароля
security.user Nette\Security\User поточний користувач
security.userStorage Nette\Security\UserStorage зберігання