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