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