Configuração de permissões de acesso
Visão geral das opções de configuração para Nette Security.
Se você não usa o framework completo, mas apenas esta biblioteca, leia como carregar a configuração.
Na configuração, é possível definir uma lista de usuários e, assim, criar um autenticador simples
(Nette\Security\SimpleAuthenticator
). Como as senhas são especificadas na configuração em formato legível, esta
solução é adequada apenas para fins de teste.
security:
# exibir o painel do usuário na Tracy Bar?
debugger: ... # (bool) padrão é true
users:
# nome: senha
frantisek: tajneheslo
# nome, senha, papel e outros dados disponíveis na identidade
dobrota:
password: tajneheslo
roles: [admin]
data: ...
Além disso, é possível definir papéis e recursos e, assim, criar a base para um autorizador (Nette\Security\Permission
):
security:
roles:
guest:
registered: [guest] # registered herda de guest
admin: [registered] # e dele herda admin
resources:
article:
comment: [article] # recurso herda de article
poll:
Armazenamento
É possível configurar como armazenar informações sobre o usuário logado:
security:
authentication:
# após quanto tempo de inatividade o usuário será desconectado
expiration: 30 minutes # (string) padrão não está definido
# onde armazenar informações sobre o usuário logado
storage: session # (session|cookie) padrão é session
Se você escolher cookie
como armazenamento, pode definir ainda estas opções:
security:
authentication:
# nome do cookie
cookieName: userId # (string) padrão é userid
# domínios que aceitam o cookie
cookieDomain: 'example.com' # (string|domain)
# restrição ao acessar de outro domínio
cookieSamesite: None # (Strict|Lax|None) padrão é Lax
Serviços DI
Estes serviços são adicionados ao contêiner de DI:
Nome | Tipo | Descrição |
---|---|---|
security.authenticator |
Nette\Security\Authenticator | autenticador |
security.authorizator |
Nette\Security\Authorizator | autorizador |
security.passwords |
Nette\Security\Passwords | hashing de senhas |
security.user |
Nette\Security\User | usuário atual |
security.userStorage |
Nette\Security\UserStorage | armazenamento |