Configuração de permissões de acesso

Visão geral das opções de configuração para Nette Security.

Se você não usa o framework completo, mas apenas esta biblioteca, leia como carregar a configuração.

Na configuração, é possível definir uma lista de usuários e, assim, criar um autenticador simples (Nette\Security\SimpleAuthenticator). Como as senhas são especificadas na configuração em formato legível, esta solução é adequada apenas para fins de teste.

security:
	# exibir o painel do usuário na Tracy Bar?
	debugger: ...  # (bool) padrão é true

	users:
		# nome: senha
		frantisek: tajneheslo

		# nome, senha, papel e outros dados disponíveis na identidade
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...

Além disso, é possível definir papéis e recursos e, assim, criar a base para um autorizador (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # registered herda de guest
		admin: [registered]  # e dele herda admin

	resources:
		article:
		comment: [article]   # recurso herda de article
		poll:

Armazenamento

É possível configurar como armazenar informações sobre o usuário logado:

security:
	authentication:
		# após quanto tempo de inatividade o usuário será desconectado
		expiration: 30 minutes        # (string) padrão não está definido

		# onde armazenar informações sobre o usuário logado
		storage: session              # (session|cookie) padrão é session

Se você escolher cookie como armazenamento, pode definir ainda estas opções:

security:
	authentication:
		# nome do cookie
		cookieName: userId            # (string) padrão é userid

		# domínios que aceitam o cookie
		cookieDomain: 'example.com'   # (string|domain)

		# restrição ao acessar de outro domínio
		cookieSamesite: None          # (Strict|Lax|None) padrão é Lax

Serviços DI

Estes serviços são adicionados ao contêiner de DI:

Nome Tipo Descrição
security.authenticator Nette\Security\Authenticator autenticador
security.authorizator Nette\Security\Authorizator autorizador
security.passwords Nette\Security\Passwords hashing de senhas
security.user Nette\Security\User usuário atual
security.userStorage Nette\Security\UserStorage armazenamento
versão: 4.0