Nette Documentation Preview

syntax
Настройка на контрол на достъпа
*******************************

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

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

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

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

	users:
		# име: парола
		johndoe: secret123

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

Можете също така да дефинирате роли и ресурси, за да създадете основата за [удостоверителя |authorization] (`Nette\Security\Permission`):

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

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


Потребителско хранилище .[#toc-user-storage]
--------------------------------------------

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

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

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

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

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

		# на кои хостове е разрешено да получават бисквитката
		cookieDomain: 'example.com' # (string|домейн)

		# ограничения на кръстосания достъп до заявките
		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:
	# покажете потребителския панел в панела на Tracey?
	debugger: ...  # (bool) по подразбиране е true

	users:
		# име: парола
		johndoe: secret123

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

Можете също така да дефинирате роли и ресурси, за да създадете основата за удостоверителя (Nette\Security\Permission):

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

	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|домейн)

		# ограничения на кръстосания достъп до заявките
		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 съхранение