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

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

Если вы не используете весь фреймворк, а только эту библиотеку, прочитайте, как загрузить конфигурацию.

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

security:
	# отображать панель пользователя в Tracy Bar?
	debugger: ...  # (bool) по умолчанию true

	users:
		# имя: пароль
		frantisek: secretpassword

		# имя, пароль, роль и другие данные, доступные в идентификаторе
		dobrota:
			password: secretpassword
			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