Nette Documentation Preview

syntax
Konfigurieren der Zugriffskontrolle
***********************************

.[perex]
Überblick über die Konfigurationsoptionen für Nette Security.

Wenn Sie nicht das gesamte Framework, sondern nur diese Bibliothek verwenden, lesen Sie [, wie Sie die Konfiguration laden |bootstrap:].

Sie können eine Liste von Benutzern in der Konfiguration definieren, um einen [einfachen Authentifikator |authentication] zu erstellen (`Nette\Security\SimpleAuthenticator`). Da Passwörter in der Konfiguration lesbar sind, ist diese Lösung nur für Testzwecke geeignet.

```neon
security:
	# zeigt Benutzeroberfläche in Tracy Bar?
	debugger: ...  # (bool) standardmäßig true

	users:
		# Name: Passwort
		johndoe: geheim123

		# Name, Passwort, Rolle und andere in der Identität verfügbare Daten
		janedoe:
			password: secret123
			roles: [admin]
			data: ...
```

Sie können auch Rollen und Ressourcen definieren, um eine Grundlage für einen [Autorisierer |authorization] zu schaffen (`Nette\Security\Permission`):

```neon
security:
	roles:
		guest:
		registered: [guest] # registered erbt von guest
		admin: [registered] # und admin erbt von registered

	resources:
		article:
		comment: [article]  # Ressource erbt von article
		poll:
```


Speicherung von Benutzern .[#toc-user-storage]
----------------------------------------------

Sie können konfigurieren, wie Informationen über den angemeldeten Benutzer gespeichert werden sollen:

```neon
security:
	authentication:
		# nach welcher Zeit der Inaktivität wird der Benutzer abgemeldet
		expiration: 30 minutes      # (string) Standardwert ist nicht gesetzt

		# wo Informationen über den angemeldeten Benutzer gespeichert werden sollen
		storage: session            # (session|cookie) Voreinstellung ist session
```

Wenn Sie `cookie` als Repository wählen, können Sie auch die folgenden Optionen einstellen:

```neon
security:
	authentication:
		# Cookie-Name
		cookieName: userId          # (string) výchozí je userid

		# welche Hosts dürfen das Cookie erhalten
		cookieDomain: 'example.com' # (string|domain)

		# Einschränkungen beim Zugriff auf herkunftsübergreifende Anfragen
		cookieSamesite: None        # (Strict|Lax|None) Standardwert ist Lax
```


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

Diese Dienste werden dem DI-Container hinzugefügt:

| Name | Typ | Beschreibung
|----------------------------------------------------------
| `security.authenticator` | [api:Nette\Security\Authenticator] | [Authentifikator |authentication]
| `security.authorizator` | [api:Nette\Security\Authorizator] | [Autorisierer |authorization]
| `security.passwords` | [api:Nette\Security\Passwords] | [Passwort-Hashing |passwords]
| `security.user` | [api:Nette\Security\User] | aktueller Benutzer
| `security.userStorage` | [api:Nette\Security\UserStorage] | [Speicherung |#User Storage]

Konfigurieren der Zugriffskontrolle

Überblick über die Konfigurationsoptionen für Nette Security.

Wenn Sie nicht das gesamte Framework, sondern nur diese Bibliothek verwenden, lesen Sie , wie Sie die Konfiguration laden.

Sie können eine Liste von Benutzern in der Konfiguration definieren, um einen einfachen Authentifikator zu erstellen (Nette\Security\SimpleAuthenticator). Da Passwörter in der Konfiguration lesbar sind, ist diese Lösung nur für Testzwecke geeignet.

security:
	# zeigt Benutzeroberfläche in Tracy Bar?
	debugger: ...  # (bool) standardmäßig true

	users:
		# Name: Passwort
		johndoe: geheim123

		# Name, Passwort, Rolle und andere in der Identität verfügbare Daten
		janedoe:
			password: secret123
			roles: [admin]
			data: ...

Sie können auch Rollen und Ressourcen definieren, um eine Grundlage für einen Autorisierer zu schaffen (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest] # registered erbt von guest
		admin: [registered] # und admin erbt von registered

	resources:
		article:
		comment: [article]  # Ressource erbt von article
		poll:

Speicherung von Benutzern

Sie können konfigurieren, wie Informationen über den angemeldeten Benutzer gespeichert werden sollen:

security:
	authentication:
		# nach welcher Zeit der Inaktivität wird der Benutzer abgemeldet
		expiration: 30 minutes      # (string) Standardwert ist nicht gesetzt

		# wo Informationen über den angemeldeten Benutzer gespeichert werden sollen
		storage: session            # (session|cookie) Voreinstellung ist session

Wenn Sie cookie als Repository wählen, können Sie auch die folgenden Optionen einstellen:

security:
	authentication:
		# Cookie-Name
		cookieName: userId          # (string) výchozí je userid

		# welche Hosts dürfen das Cookie erhalten
		cookieDomain: 'example.com' # (string|domain)

		# Einschränkungen beim Zugriff auf herkunftsübergreifende Anfragen
		cookieSamesite: None        # (Strict|Lax|None) Standardwert ist Lax

DI-Dienste

Diese Dienste werden dem DI-Container hinzugefügt:

Name Typ Beschreibung
security.authenticator Nette\Security\Authenticator Authentifikator
security.authorizator Nette\Security\Authorizator Autorisierer
security.passwords Nette\Security\Passwords Passwort-Hashing
security.user Nette\Security\User aktueller Benutzer
security.userStorage Nette\Security\UserStorage Speicherung