Конфігурація прав доступу

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

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

У конфігурації можна визначити список користувачів і таким чином створити простий автентифікатор (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:
		# ім'я cookie
		cookieName: userId            # (string) стандартно userid

		# домени, які приймають cookie
		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 сховище
версія: 4.0