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


Услуги DI .[#toc-di-services]
-----------------------------

Эти сервисы добавляются в контейнер DI:

| Имя | Тип | Описание
|----------------------------------------------------------
| `security.authenticator` | [api:Nette\Security\Authenticator] | [authenticator |authentication]
| `security.authorizator` | [api:Nette\Security\Authorizator] | [authorizer |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

Эти сервисы добавляются в контейнер DI:

Имя Тип Описание
security.authenticator Nette\Security\Authenticator authenticator
security.authorizator Nette\Security\Authorizator authorizer
security.passwords Nette\Security\Passwords хеширование пароля
security.user Nette\Security\User текущий пользователь
security.userStorage Nette\Security\UserStorage хранилище