Konfiguracija dostopnih dovoljenj

Pregled konfiguracijskih možnosti za Nette Security.

Če ne uporabljate celotnega ogrodja, ampak samo to knjižnico, preberite, kako konfiguracijo naložiti.

V konfiguraciji je mogoče definirati seznam uporabnikov in tako ustvariti preprost avtentikator (Nette\Security\SimpleAuthenticator). Ker se v konfiguraciji navajajo gesla v berljivi obliki, je ta rešitev primerna samo za testne namene.

security:
	# prikazati ploščo uporabnika v Tracy Bar?
	debugger: ...  # (bool) privzeto je true

	users:
		# ime: geslo
		frantisek: tajnegeslo

		# ime, geslo, vloga in drugi podatki, dostopni v identiteti
		dobrota:
			password: tajnegeslo
			roles: [admin]
			data: ...

Nadalje je mogoče definirati vloge in vire ter tako ustvariti osnovo za avtorizator (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # registered deduje od guest
		admin: [registered]  # in od njega deduje admin

	resources:
		article:
		comment: [article]   # vir deduje od article
		poll:

Shramba

Mogoče je konfigurirati, kako shranjevati informacije o prijavljenem uporabniku:

security:
	authentication:
		# po koliko časa neaktivnosti bo uporabnik odjavljen
		expiration: 30 minutes        # (string) privzeto ni nastavljeno

		# kam shranjevati informacije o prijavljenem uporabniku
		storage: session              # (session|cookie) privzeto je session

Če izberete kot shrambo cookie, lahko nastavite še te možnosti:

security:
	authentication:
		# ime piškotka
		cookieName: userId            # (string) privzeto je userid

		# domene, ki sprejemajo piškotek
		cookieDomain: 'example.com'   # (string|domain)

		# omejitev pri dostopu z druge domene
		cookieSamesite: None          # (Strict|Lax|None) privzeto je Lax

Storitve DI

Te storitve se dodajajo v DI vsebnik:

Ime Tip Opis
security.authenticator Nette\Security\Authenticator avtentikator
security.authorizator Nette\Security\Authorizator avtorizator
security.passwords Nette\Security\Passwords zgoščevanje gesel
security.user Nette\Security\User trenutni uporabnik
security.userStorage Nette\Security\UserStorage shramba
različica: 4.0