Настройка контроля доступа

Обзор опций конфигурации для 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 хранилище
версия: 4.0