アプリケーションのすべての要素を含む管理インターフェースを構築しています。管理者がユーザー属性を編集したり、ユーザーを削除したりできるセクションを含めたいと思います。
組み込みのユーザーモデルと認証ミドルウェアを使用して、これを実現するにはどうすればよいですか?
ゲートファサードを使用してみませんか?
最初にManageUsersPolicyクラスを作成します
class ManageUsersPolicy {
use HandlesAuthorization;
public function authorize(User $user) {
// Whatever logic you want to authorize the current user, por example:
return $user->hasRole('Admin');
}
}
次に、AuthServiceProvider
クラスにポリシーを登録します
public function boot(GateContract $gate) {
$gate->define('manage-users', 'App\Policies\ManageUsersPolicy@authorize');
}
次に、コントローラーで次のように呼び出すことができます。
if(Gate::denies('manage-users') {
abort(403, 'You are nor authorized.');
} else {
// This user is authorized to manage other users.
}
ポリシーに関するドキュメントを確認してください:https://laravel.com/docs/5.2/authorization#policies
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加