Configuration des autorisations d'accès

Aperçu des options de configuration pour Nette Security.

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

Dans la configuration, il est possible de définir une liste d'utilisateurs, et ainsi de créer un simple authentificateur (Nette\Security\SimpleAuthenticator). Comme les mots de passe sont indiqués en clair dans la configuration, cette solution ne convient qu'à des fins de test.

security:
	# afficher le panneau utilisateur dans la barre Tracy ?
	debugger: ...  # (bool) la valeur par défaut est true

	users:
		# nom: mot de passe
		frantisek: motdepassesecret

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

Ensuite, il est possible de définir des rôles et des ressources et de créer ainsi la base pour un autorisateur (Nette\Security\Permission) :

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

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

Stockage

Il est possible de configurer comment conserver les informations sur l'utilisateur connecté :

security:
	authentication:
		# après combien de temps d'inactivité l'utilisateur sera-t-il déconnecté
		expiration: 30 minutes        # (string) la valeur par défaut n'est pas définie

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

Si vous choisissez cookie comme stockage, vous pouvez définir ces options supplémentaires :

security:
	authentication:
		# nom du cookie
		cookieName: userId            # (string) la valeur par défaut est userid

		# domaines qui acceptent le cookie
		cookieDomain: 'example.com'   # (string|domain)

		# restriction lors de l'accès depuis un autre domaine
		cookieSamesite: None          # (Strict|Lax|None) la valeur par défaut est 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 autorisateur
security.passwords Nette\Security\Passwords hachage de mots de passe
security.user Nette\Security\User utilisateur actuel
security.userStorage Nette\Security\UserStorage stockage
version: 4.0