ホームページ  >  記事  >  バックエンド開発  >  [ Lumen 5.2 ドキュメント ] その他の機能 -- ユーザー認証

[ Lumen 5.2 ドキュメント ] その他の機能 -- ユーザー認証

WBOY
WBOYオリジナル
2016-06-23 13:16:33979ブラウズ

1. はじめに

Lumen は、すぐに使用できる認証サービスを提供するだけでなく、承認ロジックとリソースのアクセス制御のための便利な方法も提供します。さまざまな方法や補助機能を使用して、認可ロジックを編成および管理できます。

一般に、Lumen での承認の使用は Laravel での使用と同じです。ここでは、違いについてのみ説明します。詳しい使用方法については、完全な Laravel ドキュメントを参照してください。

2. Laravel との違い

パーミッション (能力) を定義する

Laravel と比較して、Lumen の認可の使用における主な違いは、Lumen では単に AuthServiceProvider Gate ファサードでパーミッションを使用できることです。権限を定義するには:

Gate::define('update-post', function ($user, $post) {    return $user->id === $post->user_id;});

ポリシーを定義する (Policies)

Laravel とは異なり、Lumen には AuthServiceProvider に属性配列がありません。ただし、サービスプロバイダーのブートメソッドのゲートファサードでポリシーメソッドを呼び出すことはできます:

Gate::policy(Post::class, PostPolicy::class);

ポリシーの詳細について詳しくは、Laravel の完全なドキュメントを参照してください。

権限を確認する

完全なLaravelフレームワークと同じように権限を確認できます。まず、Gate ファサードを使用します。このファサードを使用する場合は、bootstrap/app.php ファイルで有効になっていることを確認してください。現在認証されているユーザーは自動的に認証コールバックに渡されるため、User インスタンスを allowed メソッドに渡す必要はないことに注意してください:

if (Gate::allows('update-post', $post)) {    //}if (Gate::denies('update-post', $post)) {    abort(403);}

もちろん、指定されたユーザーが指定されたアクセス許可を持っているかどうかを確認することもできます:

れーれー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。