アクセス権限の設定

Nette Security の設定オプションの概要。

フレームワーク全体ではなく、このライブラリのみを使用する場合は、設定の読み込み方法 をお読みください。

設定でユーザーのリストを定義し、それによって 単純な認証器 (Nette\Security\SimpleAuthenticator) を作成できます。設定ではパスワードが読み取り可能な形式で指定されるため、このソリューションはテスト目的のみに適しています。

security:
	# Tracy Bar にユーザーパネルを表示しますか?
	debugger: ...  # (bool) デフォルトは true

	users:
		# 名前: パスワード
		frantisek: tajneheslo

		# 名前、パスワード、ロール、およびアイデンティティで利用可能なその他のデータ
		dobrota:
			password: tajneheslo
			roles: [admin]
			data: ...

さらに、ロールとリソースを定義し、それによって 認可者 (Nette\Security\Permission) の基礎を作成できます。

security:
	roles:
		guest:
		registered: [guest]  # registered は guest から継承します
		admin: [registered]  # そして admin はそれから継承します

	resources:
		article:
		comment: [article]   # リソースは article から継承します
		poll:

ストレージ

ログインしたユーザーに関する情報をどのように保存するかを設定できます。

security:
	authentication:
		# 非アクティブ状態がどのくらいの期間続いた後、ユーザーはログアウトされますか
		expiration: 30 minutes        # (string) デフォルトは設定されていません

		# ログインしたユーザーに関する情報をどこに保存しますか
		storage: session              # (session|cookie) デフォルトは session

ストレージとして cookie を選択した場合、さらに次のオプションを設定できます。

security:
	authentication:
		# cookie 名
		cookieName: userId            # (string) デフォルトは userid

		# cookie を受け入れるドメイン
		cookieDomain: 'example.com'   # (string|domain)

		# 別のドメインからのアクセス時の制限
		cookieSamesite: None          # (Strict|Lax|None) デフォルトは Lax

DI サービス

これらのサービスは DI コンテナに追加されます。

名前 説明
security.authenticator Nette\Security\Authenticator 認証器
security.authorizator Nette\Security\Authorizator 認可者
security.passwords Nette\Security\Passwords パスワードハッシュ化
security.user Nette\Security\User 現在のユーザー
security.userStorage Nette\Security\UserStorage ストレージ
バージョン: 4.0