Nette Documentation Preview

syntax
Configuration du contrôle d'accès
*********************************

.[perex]
Aperçu des options de configuration de Nette Security.

Si vous n'utilisez pas l'ensemble du framework, mais uniquement cette bibliothèque, lisez [comment charger la configuration |bootstrap:].

Vous pouvez définir une liste d'utilisateurs dans la configuration pour créer un [authentificateur simple |authentication] (`Nette\Security\SimpleAuthenticator`). Comme les mots de passe sont lisibles dans la configuration, cette solution est uniquement destinée à des fins de test.

```neon
security:
	# montre le panneau de l'utilisateur dans Tracy Bar ?
	debugger: ...  # (bool) par défaut à true

	users:
		# nom: mot de passe
		johndoe: secret123

		# nom, mot de passe, rôle et autres données disponibles dans l'identité
		janedoe:
			password: secret123
			roles: [admin]
			data: ...
```

Vous pouvez également définir des rôles et des ressources pour créer une base d'[autorisation |authorization] (`Nette\Security\Permission`):

```neon
security:
	roles:
		guest:
		registered: [guest] # registered hérite de guest
		admin: [registered] # et admin hérite de registered

	resources:
		article:
		comment: [article]  # ressource hérite de article
		poll:
```


Stockage des utilisateurs .[#toc-user-storage]
----------------------------------------------

Vous pouvez configurer la manière de stocker les informations sur l'utilisateur connecté:

```neon
security:
	authentication:
		# après combien de temps d'inactivité l'utilisateur sera déconnecté
		expiration: 30 minutes        # (string) default is not set

		# où stocker les informations sur l'utilisateur connecté
		storage: session              # (session|cookie) par défaut: session
```

Si vous choisissez `cookie` comme référentiel, vous pouvez également définir les options suivantes:

```neon
security:
	authentication:
		# nom du cookie
		cookieName: userId            # (string) výchozí je userid

		# quels hôtes sont autorisés à recevoir le cookie
		cookieDomain: 'example.com'   # (string|domain)

		# restrictions lors de l'accès à une demande d'origine croisée
		cookieSamesite: None          # (Strict|Lax|None) valeur par défaut: Lax
```


Services DI .[#toc-di-services]
-------------------------------

Ces services sont ajoutés au conteneur DI :

| Nom | Type | Description
|----------------------------------------------------------
| `security.authenticator` | [api:Nette\Security\Authenticator] | [authentificateur |authentication]
| `security.authorizator` | [api:Nette\Security\Authorizator] | [authorizer |authorization]
| `security.passwords` | [api:Nette\Security\Passwords] | [hachage du mot de passe |passwords]
| `security.user` | [api:Nette\Security\User] | utilisateur actuel
| `security.userStorage` | [api:Nette\Security\UserStorage] | [stockage |#User Storage]

Configuration du contrôle d'accès

Aperçu des options de configuration de Nette Security.

Si vous n'utilisez pas l'ensemble du framework, mais uniquement cette bibliothèque, lisez comment charger la configuration.

Vous pouvez définir une liste d'utilisateurs dans la configuration pour créer un authentificateur simple (Nette\Security\SimpleAuthenticator). Comme les mots de passe sont lisibles dans la configuration, cette solution est uniquement destinée à des fins de test.

security:
	# montre le panneau de l'utilisateur dans Tracy Bar ?
	debugger: ...  # (bool) par défaut à true

	users:
		# nom: mot de passe
		johndoe: secret123

		# nom, mot de passe, rôle et autres données disponibles dans l'identité
		janedoe:
			password: secret123
			roles: [admin]
			data: ...

Vous pouvez également définir des rôles et des ressources pour créer une base d'autorisation (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest] # registered hérite de guest
		admin: [registered] # et admin hérite de registered

	resources:
		article:
		comment: [article]  # ressource hérite de article
		poll:

Stockage des utilisateurs

Vous pouvez configurer la manière de stocker les informations sur l'utilisateur connecté:

security:
	authentication:
		# après combien de temps d'inactivité l'utilisateur sera déconnecté
		expiration: 30 minutes        # (string) default is not set

		# où stocker les informations sur l'utilisateur connecté
		storage: session              # (session|cookie) par défaut: session

Si vous choisissez cookie comme référentiel, vous pouvez également définir les options suivantes:

security:
	authentication:
		# nom du cookie
		cookieName: userId            # (string) výchozí je userid

		# quels hôtes sont autorisés à recevoir le cookie
		cookieDomain: 'example.com'   # (string|domain)

		# restrictions lors de l'accès à une demande d'origine croisée
		cookieSamesite: None          # (Strict|Lax|None) valeur par défaut: Lax

Services DI

Ces services sont ajoutés au conteneur DI :

Nom Type Description
security.authenticator Nette\Security\Authenticator authentificateur
security.authorizator Nette\Security\Authorizator authorizer
security.passwords Nette\Security\Passwords hachage du mot de passe
security.user Nette\Security\User utilisateur actuel
security.userStorage Nette\Security\UserStorage stockage