Nette Documentation Preview

syntax
Конфигурация на правата за достъп
*********************************

.[perex]
Преглед на конфигурационните опции за Nette Security.

Ако не използвате целия framework, а само тази библиотека, прочетете [как да заредите конфигурацията|bootstrap:].

В конфигурацията може да се дефинира списък с потребители и така да се създаде [прост автентикатор|authentication] (`Nette\Security\SimpleAuthenticator`). Тъй като в конфигурацията паролите се посочват в четим вид, това решение е подходящо само за тестови цели.

```neon
security:
	# показва ли се панелът на потребителя в Tracy Bar?
	debugger: ...  # (bool) по подразбиране е true

	users:
		# име: парола
		frantisek: tajneheslo

		# име, парола, роля и други данни, достъпни в идентичността
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...
```

Освен това могат да се дефинират роли и ресурси и така да се създаде основа за [авторизатор|authorization] (`Nette\Security\Permission`):

```neon
security:
	roles:
		guest:
		registered: [guest]  # registered наследява от guest
		admin: [registered]  # а от него наследява admin

	resources:
		article:
		comment: [article]   # ресурсът наследява от article
		poll:
```


Хранилище
---------

Може да се конфигурира как да се съхранява информацията за влезлия потребител:

```neon
security:
	authentication:
		# след колко време неактивност потребителят ще бъде излязъл
		expiration: 30 minutes        # (string) по подразбиране не е зададено

		# къде да се съхранява информацията за влезлия потребител
		storage: session              # (session|cookie) по подразбиране е session
```

Ако изберете като хранилище `cookie`, можете да зададете още тези опции:

```neon
security:
	authentication:
		# име на бисквитката
		cookieName: userId            # (string) по подразбиране е userid

		# домейни, които приемат бисквитката
		cookieDomain: 'example.com'   # (string|domain)

		# ограничение при достъп от друг домейн
		cookieSamesite: None          # (Strict|Lax|None) по подразбиране е Lax
```


DI услуги
---------

Тези услуги се добавят към 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]  |  [#хранилище]

Конфигурация на правата за достъп

Преглед на конфигурационните опции за Nette Security.

Ако не използвате целия framework, а само тази библиотека, прочетете как да заредите конфигурацията.

В конфигурацията може да се дефинира списък с потребители и така да се създаде прост автентикатор (Nette\Security\SimpleAuthenticator). Тъй като в конфигурацията паролите се посочват в четим вид, това решение е подходящо само за тестови цели.

security:
	# показва ли се панелът на потребителя в Tracy Bar?
	debugger: ...  # (bool) по подразбиране е true

	users:
		# име: парола
		frantisek: tajneheslo

		# име, парола, роля и други данни, достъпни в идентичността
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...

Освен това могат да се дефинират роли и ресурси и така да се създаде основа за авторизатор (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # registered наследява от guest
		admin: [registered]  # а от него наследява admin

	resources:
		article:
		comment: [article]   # ресурсът наследява от article
		poll:

Хранилище

Може да се конфигурира как да се съхранява информацията за влезлия потребител:

security:
	authentication:
		# след колко време неактивност потребителят ще бъде излязъл
		expiration: 30 minutes        # (string) по подразбиране не е зададено

		# къде да се съхранява информацията за влезлия потребител
		storage: session              # (session|cookie) по подразбиране е session

Ако изберете като хранилище cookie, можете да зададете още тези опции:

security:
	authentication:
		# име на бисквитката
		cookieName: userId            # (string) по подразбиране е userid

		# домейни, които приемат бисквитката
		cookieDomain: 'example.com'   # (string|domain)

		# ограничение при достъп от друг домейн
		cookieSamesite: None          # (Strict|Lax|None) по подразбиране е Lax

DI услуги

Тези услуги се добавят към 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 хранилище