AuthServiceProvider.php 929 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Providers;
  3. use Illuminate\Foundation\Auth\User;
  4. use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
  5. use Illuminate\Support\Facades\Gate;
  6. use App\Models\Item;
  7. use App\Policies\ItemPolicy;
  8. class AuthServiceProvider extends ServiceProvider
  9. {
  10. /**
  11. * The policy mappings for the application.
  12. *
  13. * @var array
  14. */
  15. protected $policies = [
  16. // 'App\Model' => 'App\Policies\ModelPolicy',
  17. Item::class => ItemPolicy::class,
  18. ];
  19. /**
  20. * Register any authentication / authorization services.
  21. *
  22. * @return void
  23. */
  24. public function boot()
  25. {
  26. $this->registerPolicies();
  27. Gate::define('is-admin', function(User $user){
  28. return $user->role()->first()->name === 'admin';
  29. });
  30. Gate::define('registered', function(User $user){
  31. return $user->id > 0;
  32. });
  33. }
  34. }