Spatie Laravel Permission: Example Project Review

Поделиться
HTML-код
  • Опубликовано: 15 ноя 2024

Комментарии • 68

  • @schoolfaqs
    @schoolfaqs 3 года назад +16

    I love this package. I've used it in 4 different production projects.

    • @tranong142
      @tranong142 3 года назад +4

      yes, me too,. i've use it in 2 large project. that is the best packages of Spatie. They has many useful packages

    • @zakiarahmoune7458
      @zakiarahmoune7458 2 года назад

      What is the difference by Spatie & authentication by Laravel ui please,

  • @o_lobato
    @o_lobato 3 года назад +6

    In fact, the "hack" to grant permissions to "Super Admin" is advised and explained in the docs of Spatie Laravel Permission

  • @turdakhov
    @turdakhov Год назад +1

    Thank you! We love your videos and thoughs!

  • @khanhvu8119
    @khanhvu8119 2 года назад

    so touching for an excellent video

  • @ernestofavio6735
    @ernestofavio6735 Год назад

    Whats the differencia of using middlewares in the controller rather than Gates like in the video ? I mean, the first protects de routes, and the other only provides if the user has authorization, right ?

  • @СтаниславЧетвериков-з2м

    Очень полезно и жизненно! Спасибо)

  • @blog4lives
    @blog4lives 3 года назад +1

    Could you maybe make a video about the new Teams permission feature in the spatie-permission package?

    • @LaravelDaily
      @LaravelDaily  3 года назад

      New feature? Can you give me a link to some info about the release of it?

    • @ernestofavio6735
      @ernestofavio6735 Год назад

      @@LaravelDaily pls do it :c

  • @localusercamp
    @localusercamp Год назад +1

    Nice tutorial, very clear and understandable. Что думаете на счет того, чтобы вынести все эти строки в константы и использовать уже их а не писать везде строки?

    • @turdakhov
      @turdakhov Год назад

      Можно и в константы. Строки по сути не супер длинные и их ассортимент не большой, можно и так печатать. Но в IDE с константами будет легче работать - меньше шансов опечататься.

  • @ernestofavio6735
    @ernestofavio6735 Год назад

    I love you man, thanks a lot.

  • @tim.bogdanov
    @tim.bogdanov Год назад

    im getting the "there is no permission named ....." has anyone else come across this when trying to seed?

  • @syakirinamin2788
    @syakirinamin2788 3 года назад +1

    what about multiple model

  • @jovincebrillantes1042
    @jovincebrillantes1042 3 года назад

    The fk. I wish I heard about this package a few months ago. It would've saved my ass from hrs. of debugging.

  • @josuebarros-desenvolvedorw2490
    @josuebarros-desenvolvedorw2490 3 года назад

    Thanks a lot Povilas!!!
    Do you plan or recording about FILAMENT ADMIN???

    • @LaravelDaily
      @LaravelDaily  3 года назад +1

      Yes I have one project in review queue which uses Filament, but for now I'm not sure whether my review would be useful. We'll see

    • @josuebarros-desenvolvedorw2490
      @josuebarros-desenvolvedorw2490 3 года назад

      @@LaravelDaily this is awesome!!!

  • @nurbolatnurlanuly
    @nurbolatnurlanuly 3 года назад +2

    Thank you teacher 🙂🙌🏻

  • @amrullahdev8895
    @amrullahdev8895 3 года назад

    $this->authorize() didnt work when we use api

  • @ArislanHaikal
    @ArislanHaikal 3 года назад

    Why permissions and roles cache not working? after get user with permission or roles, always query from db. I need caching this

    • @LaravelDaily
      @LaravelDaily  3 года назад +1

      Not sure if caching is a good choice here, because what if roles/permissions have changed since last request of the user? I prefer to get the permissions in live mode, and I'm ok with a few quick DB queries for it.

    • @ArislanHaikal
      @ArislanHaikal 3 года назад

      @@LaravelDaily some issue here github.com/spatie/laravel-permission/issues/1674 . You can help?

    • @Farishrf
      @Farishrf 3 года назад

      ​@@LaravelDaily Good point I think Spatie doesn't cache all things (3 Queries get to run on each page), but for the rest, Spatie permission package automatically refreshes the cached data if you change any permission.
      Reference: github.com/spatie/laravel-permission/blob/master/src/Traits/RefreshesPermissionCache.php

  • @MatejSK1
    @MatejSK1 2 года назад

    I would like to ask how it exactly works: How is the role connected with user table ? In example: I have already existing table users with all users, do I have to create any column which has to be connected with table "roles" from the spatie package, or its somehow directly connected with roles table just thanks to that trait line code in model ?

    • @LaravelDaily
      @LaravelDaily  2 года назад

      Yes it's directly connected to that trait. For more details, read the docs of the package.

    • @MatejSK1
      @MatejSK1 2 года назад +1

      @@LaravelDaily oh thank you for fast answer, I am glad that I dont have to create anything new in my already existing database and I just have to use that Trait line in my model there :)

  • @abdelrahmanhazem6320
    @abdelrahmanhazem6320 Год назад

    why cann't find seeder files ??

  • @cethartest469
    @cethartest469 3 года назад

    thanks, what if changed table name from user to admin, how can work with this packag

    • @rolandosanches2344
      @rolandosanches2344 3 года назад

      The package allow you to rename the tables. Just publish the config and change it.

  • @bernielorbis4364
    @bernielorbis4364 3 года назад +1

    What database client you are using sir?

  • @hajerghinnewah8698
    @hajerghinnewah8698 2 года назад

    omg i love you all my proplem solved by you

  • @karimchatoine6818
    @karimchatoine6818 3 года назад +1

    Thanks a lot Povilas.
    I have a problem with spatie permission in resource routes, I can't define each route with specific permission do you please have any idea how to set the permission for resource routes in web.php
    NB : i know i can Defined them in controller constructor but i'm preferring to find a way in web.php
    Thank you in advance

    • @LaravelDaily
      @LaravelDaily  3 года назад

      I haven't set permissions in route resource myself. So no advice, sorry.

    • @sahin8649
      @sahin8649 2 года назад +2

      Have you solved the problem? I'm thinking of using the package and concerned about resource routes too. But isn't it a good idea to use check roles in web.php and check the specific permissions in the method of that resource controller. Let's say we have 'user', 'author' and 'admin' roles. Authors and admins can see the posts in the admin panel but only admins can delete. I think we limit that with 'author' and 'admin' in the web.php so users can't get in the admin/posts page. And then we check the permission of 'post_edit' in the edit and create methods. It's just a quick idea. Please leave your comments about that.

    • @karimchatoine6818
      @karimchatoine6818 2 года назад +1

      @@sahin8649 Hello, exactly this is what i did to solve it. I checked the permission in method of that controller.

  • @Avefenixfuego8
    @Avefenixfuego8 3 года назад

    Great, I have integrated Jetstream with spatie, all right but only one problem with roles of spatie not working when show the profile page of Jetstream livewire. I have created two roles: Admin and User, and I have created too Roleseeder with permission and roles for all page and profile, but profile page not working with spatie and "User" role show error 404,what's going on? Do you have one idea?
    Thanks

    • @LaravelDaily
      @LaravelDaily  3 года назад +1

      Can't answer in a short RUclips comment, without debugging with your full project code

    • @Avefenixfuego8
      @Avefenixfuego8 3 года назад

      @@LaravelDaily
      I have already solved the problem, it was specifically generating jetstream in the following route, you can change the url:
      your-project\vendor\laravel\jetstream
      outes\livewire.php

  • @mohammadmohammadi2724
    @mohammadmohammadi2724 3 года назад

    Thanks a lot to introduce these packages
    How can we send our projects yo review?

    • @LaravelDaily
      @LaravelDaily  3 года назад

      Yes but I have a queue now so realistically I can take new projects for review in September.

  • @6542fahad
    @6542fahad 2 года назад

    Thanks , clearly explained

  • @sulaimanmisri9570
    @sulaimanmisri9570 3 года назад

    Hi, can you also make a video for laratrust?

    • @LaravelDaily
      @LaravelDaily  3 года назад

      There's Laratrust and Bouncer, which work in a very similar way. Not sure if my video would add something useful more than this video about Spatie permission as example, and more than official docs of those packages.

  • @GergelyCsermely
    @GergelyCsermely 3 года назад

    Thanks

  • @yungifez
    @yungifez 3 года назад

    I went through the docs but I have a question
    Let's say we have ability to create schools
    And we can add admin to that school
    Now how do you check if an admin is trying to change something that belongs to another school
    I'll probably make a function like
    Public static function($school_id){
    return auth()->user()->school === $school_id;
    }
    Is there any way to achieve this

    • @rosselliot8971
      @rosselliot8971 2 года назад

      The Spatie package also contains Teams as well as Roles, so a User can belong to a Team. So, create a Team for the school and assign users to that Team/School.

    • @yungifez
      @yungifez 2 года назад

      @@rosselliot8971 too late 🤣🤣

  • @nguyennga4402
    @nguyennga4402 3 года назад

    thanks you

  • @hosamgnaba3205
    @hosamgnaba3205 3 года назад

    nice viedoe thank you

  • @rob5393
    @rob5393 3 года назад

    Really helpful. Thanks :)

  • @dfordemo981
    @dfordemo981 3 года назад

    great

  • @vitouvitou5269
    @vitouvitou5269 3 года назад

    💖💖

  • @ehsanraoufi7005
    @ehsanraoufi7005 2 года назад

    hello sir thanks for this video i want to add tdd in my project with spatie but when i want to add code and test i get this error
    Class "Spatie\Permission\PermissionRegistrar" not found
    did you have any solution or video for this problem .
    how i gave role to my user in tdd.

  • @JamesAutoDude
    @JamesAutoDude Год назад

    Teams is so dang confusing for me :(

  • @elrbybark
    @elrbybark 3 года назад

    any idea how to make this code cleaner?
    public function query(Order $model)
    {
    return $model->newQuery()
    ->where('client_id', $this->client->id)
    ->with(['details:id,order_id,product_id', 'details.product:id,main_image_id', 'details.product.image']);
    $visibleStatuses = []; // statuses are: completed, pending, accepted, canceled
    foreach (OrderStatus::asArray() as $value) {
    if (Auth::user()->can('view ' . strtolower($value) . ' orders')) {
    array_push($visibleStatuses, $value);
    }
    }
    $query->whereIn('status', $visibleStatuses);
    return $query;
    }