Configurarea permisiunilor de acces

Prezentare generală a opțiunilor de configurare pentru Nette Security.

Dacă nu utilizați întregul framework, ci doar această bibliotecă, citiți cum se încarcă configurația.

În configurație se poate defini o listă de utilizatori și astfel se poate crea un autentificator simplu (Nette\Security\SimpleAuthenticator). Deoarece în configurație parolele sunt specificate în formă lizibilă, această soluție este potrivită doar pentru scopuri de testare.

security:
	# afișează panoul utilizatorului în Tracy Bar?
	debugger: ...  # (bool) implicit este true

	users:
		# nume: parola
		frantisek: parolasecreta

		# nume, parola, rol și alte date disponibile în identitate
		dobrota:
			password: parolasecreta
			roles: [admin]
			data: ...

Mai departe, se pot defini roluri și resurse și astfel se poate crea baza pentru un autorizator (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # registered moștenește de la guest
		admin: [registered]  # și de la el moștenește admin

	resources:
		article:
		comment: [article]   # resursa moștenește de la article
		poll:

Stocare

Se poate configura modul de stocare a informațiilor despre utilizatorul conectat:

security:
	authentication:
		# după cât timp de inactivitate va fi utilizatorul deconectat
		expiration: 30 minutes        # (string) implicit este nesetat

		# unde se stochează informațiile despre utilizatorul conectat
		storage: session              # (session|cookie) implicit este session

Dacă alegeți ca stocare cookie, puteți seta și aceste opțiuni:

security:
	authentication:
		# numele cookie-ului
		cookieName: userId            # (string) implicit este userid

		# domeniile care acceptă cookie-ul
		cookieDomain: 'example.com'   # (string|domain)

		# restricții la accesul de pe alt domeniu
		cookieSamesite: None          # (Strict|Lax|None) implicit este Lax

Servicii DI

Aceste servicii sunt adăugate în containerul DI:

Nume Tip Descriere
security.authenticator Nette\Security\Authenticator autentificator
security.authorizator Nette\Security\Authorizator autorizator
security.passwords Nette\Security\Passwords hashing-ul parolelor
security.user Nette\Security\User utilizatorul curent
security.userStorage Nette\Security\UserStorage stocare
versiune: 4.0