Nette Documentation Preview

syntax
Configurazione dei permessi di accesso
**************************************

.[perex]
Panoramica delle opzioni di configurazione per Nette Security.

Se non utilizzate l'intero framework, ma solo questa libreria, leggete [come caricare la configurazione|bootstrap:].

Nella configurazione è possibile definire un elenco di utenti, creando così un [semplice autenticatore|authentication] (`Nette\Security\SimpleAuthenticator`). Poiché nella configurazione le password sono indicate in forma leggibile, questa soluzione è adatta solo per scopi di test.

```neon
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|authorization] (`Nette\Security\Permission`):

```neon
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:

```neon
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:

```neon
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`  |  [api:Nette\Security\Authenticator]  |  [autenticatore|authentication]
| `security.authorizator`   |  [api:Nette\Security\Authorizator]   |  [autorizzatore|authorization]
| `security.passwords`      |  [api:Nette\Security\Passwords]      |  [hashing delle password|passwords]
| `security.user`           |  [api:Nette\Security\User]           |  utente corrente
| `security.userStorage`    |  [api:Nette\Security\UserStorage]    |  [#storage]

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