Configurando o controle de acesso

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

Se você não estiver usando toda a estrutura, mas apenas esta biblioteca, leia como carregar a configuração.

Você pode definir uma lista de usuários na configuração para criar um autenticador simples (Nette\Security\SimpleAuthenticator). Como as senhas são legíveis na configuração, esta solução é apenas para fins de teste.

security:
	# mostra o painel do usuário no Tracy Bar?
	debugger: ...  # (bool) padrão a verdadeiro

	users:
		# nome: senha
		johndoe: secreto123

		# nome, senha, função e outros dados disponíveis na identidade
		janedoe:
			password: secret123
			roles: [admin]
			data: ...

Você também pode definir papéis e recursos para criar uma base para autorizador (Nette\Security\Permission):

security:
	roles:
		guest:
		registered: [guest]  # heranças registradas de convidado
		admin: [registered]  # e admin herda de registrado

	resources:
		article:
		comment: [article]   # recursos herdados do artigo
		poll:

Armazenamento do usuário

Você pode 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 é definido

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

Se você escolher cookie como seu repositório, você também pode definir as seguintes opções:

security:
	authentication:
		# nome do cookie
		cookieName: userId            # (string) výchozí je userid

		# que hospeda é permitido receber o cookie
		cookieDomain: 'example.com'   # (string|domain)

		# restrições ao acessar pedidos de origem cruzada
		cookieSamesite: None          # (Strict|Lax|None) tem como padrão Lax

Serviços DI

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

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