Configurazione dei permessi di accesso
Panoramica delle opzioni di configurazione per Nette Security.
Se non utilizzate l'intero framework, ma solo questa libreria, leggete come caricare la configurazione.
Nella configurazione è possibile definire un elenco di utenti, creando così un semplice autenticatore
(Nette\Security\SimpleAuthenticator
). Poiché nella configurazione le password sono indicate in forma leggibile,
questa soluzione è adatta solo per scopi di test.
security:
# visualizzare il pannello utente nella Tracy Bar?
debugger: ... # (bool) il default è true
users:
# nome: password
francesco: passwordsegreta
# nome, password, ruolo e altri dati disponibili nell'identità
bontà:
password: passwordsegreta
roles: [admin]
data: ...
Inoltre, è possibile definire ruoli e risorse e creare così la base per un autorizzatore (Nette\Security\Permission
):
security:
roles:
guest:
registered: [guest] # registered eredita da guest
admin: [registered] # e da esso eredita admin
resources:
article:
comment: [article] # risorsa eredita da article
poll:
Storage
È possibile configurare come conservare le informazioni sull'utente loggato:
security:
authentication:
# dopo quanto tempo di inattività l'utente verrà disconnesso
expiration: 30 minutes # (string) il default è non impostato
# dove memorizzare le informazioni sull'utente loggato
storage: session # (session|cookie) il default è session
Se scegliete cookie
come storage, potete impostare anche queste opzioni:
security:
authentication:
# nome del cookie
cookieName: userId # (string) il default è userid
# domini che accettano il cookie
cookieDomain: 'example.com' # (string|domain)
# restrizioni sull'accesso da un dominio diverso
cookieSamesite: None # (Strict|Lax|None) il default è Lax
Servizi DI
Questi servizi vengono aggiunti al container DI:
Nome | Tipo | Descrizione |
---|---|---|
security.authenticator |
Nette\Security\Authenticator | autenticatore |
security.authorizator |
Nette\Security\Authorizator | autorizzatore |
security.passwords |
Nette\Security\Passwords | hashing delle password |
security.user |
Nette\Security\User | utente corrente |
security.userStorage |
Nette\Security\UserStorage | storage |