アクセス権限の設定
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 | ストレージ |