{"id":18036589,"url":"https://github.com/codexshaper/laravel-permission","last_synced_at":"2025-03-27T08:30:43.523Z","repository":{"id":35093022,"uuid":"205598875","full_name":"Codexshaper/laravel-permission","owner":"Codexshaper","description":"Laravel Multi Tenant Authentication","archived":false,"fork":false,"pushed_at":"2023-03-01T22:31:02.000Z","size":1641,"stargazers_count":21,"open_issues_count":23,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-06T12:51:51.729Z","etag":null,"topics":["framework","laravel","permissions","roles","roles-permission-management","vuejs2"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Codexshaper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-31T21:39:25.000Z","updated_at":"2024-12-25T08:04:30.000Z","dependencies_parsed_at":"2023-01-15T13:40:14.787Z","dependency_job_id":null,"html_url":"https://github.com/Codexshaper/laravel-permission","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codexshaper%2Flaravel-permission","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codexshaper%2Flaravel-permission/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codexshaper%2Flaravel-permission/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codexshaper%2Flaravel-permission/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Codexshaper","download_url":"https://codeload.github.com/Codexshaper/laravel-permission/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245090866,"owners_count":20559298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","laravel","permissions","roles","roles-permission-management","vuejs2"],"created_at":"2024-10-30T12:13:41.499Z","updated_at":"2025-03-27T08:30:42.719Z","avatar_url":"https://github.com/Codexshaper.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# laravel-permission\nLaravel Multi Authentication\n\nInstallation video : [click here](https://www.youtube.com/watch?v=2ZmhpYwrGNA) or click below image\n\n[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/2ZmhpYwrGNA/0.jpg)](https://www.youtube.com/watch?v=2ZmhpYwrGNA)\n\n## Note : Before Install and use this package run below command\nBefore Laravel version 6.0\n```\nphp artisan make:auth\n```\nFrom Laravel Version 6.0\n\n```\n1. composer require laravel/ui\n2. php artisan ui vue --auth\n3. npm install\n4. npm run dev\n```\n\n#### Install the Package\n\n```\ncomposer require codexshaper/laravel-permission\n```\n##### Publish Resource, Configs, Migration and Seeding Database in a single command\n\n```\nphp artisan permission:install\n```\n##### Or Publish Resource, Configs, Migration and Seeding Database Manually\n1. Publish Configs\n```\nphp artisan vendor:publish --tag=permission.config\n```\n2. Publish Seeds\n```\nphp artisan vendor:publish --tag=permission.seeds\n```\n3. Migrate Database\n```\nphp artisan migrate\n```\n4. Run composer dump autoload\n```\ncomposer dump-autoload\n```\n5. Seeding Database\n```\nphp artisan db:seed --class=PermissionDatabaseSeeder\n```\n6. Add Routes\n```\nRoute::group(['prefix' =\u003e config('permission.prefix'),'middleware'=\u003e['role:admin']], function () {\n    Permission::routes();\n});\n```\n##### Import `use CodexShaper\\Permission\\Traits\\HasRoles` or simply `use HasRoles` Trait into your `App\\User` Model\n```\nnamespace App;\n\nuse CodexShaper\\Permission\\Traits\\HasRoles;\n\nclass User extends Authenticatable\n{\n    use HasRoles;\n}\n```\n##### Check Permission go to ```/admin/laravel-permission```\n\n###### Install Demo\n```\nphp artisan permission:install:demo\n```\n##### Demo url ```/admin/permissions```\n\n###### Publish ```Views```\n```\nphp artisan permission:publish:views\n```\n\n##### Publish ```Resources```\n```\nphp artisan permission:publish:resources\n```\n#### For Overriding Views and Resources, Change your config file ```/config/permission.php```\n```\n'resources_path' =\u003e 'resources/views/vendor/permissions/assets',\n'views' =\u003e 'resources/views/vendor/permissions/views',\n```\n# Permission\n```\nuse CodexShaper\\Permission\\Models\\Permission;\n\n$permission = Permission::create([\n\t'name' \t=\u003e 'Browse',\n\t'slug' \t=\u003e slug('browse'),\n\t'created_at' =\u003e now(),\n\t'updated_at' =\u003e now(),\n]);\n```\n\n#### Give Permission to Roles\n```\n// Create Role before set permission\n// $roles = [role_slug_or_id] ex: ['admin',1,2,'author']\n$permission-\u003egivePermissionToRoles( $roles );\n```\n#### Update permission roles\n```\n$role_ids = [1,3,5]\n$permission-\u003esyncPermissionToRoles( $role_ids );\n```\n#### Delete permission roles\n```\n// Delete specific Roles\n$role_ids = [1,3,5];\n$permission-\u003erevokePermissionsFromRoles( $role_ids );\n// Delete all roles for current permission\n$permission-\u003erevokePermissionsFromRoles();\n```\n# Role\n```\nuse CodexShaper\\Permission\\Models\\Role;\n\n$admin = Role::create([\n\t'name' \t=\u003e 'Super Admin',\n\t'slug' \t=\u003e 'admin',\n\t'created_at' =\u003e now(),\n\t'updated_at' =\u003e now(),\n]);\n```\n#### Assign Permission\n```\n$admin-\u003eassignPermissions([\n    'browse',\n    'read',\n    'edit',\n    'add',\n    'delete'\n]);\n```\n#### Update Permission\n```\n$permission_ids = [1,3,5]\n$admin-\u003esyncPermissions( $permission_ids );\n```\n#### Delete permission\n```\n// Delete specific Permissions\n$permission_ids = [1,3,5];\n$admin-\u003erevokePermissions( $permission_ids );\n// Delete all roles for current roles\n$admin-\u003erevokePermissions();\n```\n#### Check Permission\n```\n$admin-\u003ehasPermission( $permission_slug );\n```\n# User\n```\nuse App\\User;\n\n$user = new User;\n$user-\u003ename = 'John Doe';\n$user-\u003eemail = 'john@gmail.com';\n$user-\u003epassword = Hash::make('password');\n$user-\u003esave();\n$user-\u003eassignRoles('admin');\n```\n#### Assign Roles into existing user\n```\n$user = User::find(1);\n$user-\u003eassignRoles('admin');\n```\n#### Assign Multiple roles\n```\n$user = User::find(1);\n// Use pipe(|)\n$user-\u003eassignRoles('admin|client|customer');\n// Or use comma(,)\n$user-\u003eassignRoles('admin,client,customer');\n// Or use space\n$user-\u003eassignRoles('admin client customer');\n// Or Mixed\n$user-\u003eassignRoles('admin client,customer|write');\n// Pass custom separators\n$separators =  ',.| ';\n$user-\u003eassignRoles('admin client,customer|write', $separators);\n```\n#### Update Roles\n```\n$role_ids = [1,2,3];\n$user-\u003esyncRoles( $role_ids );\n```\n#### Delete Roles\n```\n// Delete specific Roles for current User\n$role_ids = [1,3,5];\n$user-\u003erevokeRoles( $role_ids );\n// Delete all roles for current user\n$user-\u003erevokeRoles();\n```\n#### Check Role\n```\n$user-\u003ehasRole( $role_slug );\n```\n# Add Middleware on route\n```\nRoute::group(['middleware'=\u003e['role:admin']],function(){\n\t// Routes\n});\n```\n\n# View Directories\n```\n@can('browse')\n\u003cp\u003eYou Can Browse\u003c/p\u003e\n@endcan\n\n@role('admin')\n\u003cp\u003eYou are admin\u003c/p\u003e\n@endrole\n\n@hasrole('admin')\n\u003cp\u003eYou have admin Permission\u003c/p\u003e\n@endhasrole\n\n@haspermission('edit')\n\u003cp\u003eYou have admin Permission\u003c/p\u003e\n@endhaspermission\n```\n## Authors\n\n* **Md Abu Ahsan Basir** - *Main Developer \u0026 Maintainer* - [github](https://github.com/maab16)\n* **Mahabubul Alam** - *Main designer* - [github](https://github.com/mahabubul1)\n\nSee also the list of [contributors](https://github.com/laravel-menu-builder/contributors) who participated in this project.\n\n## License\n\n[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)\n\n- **[MIT license](http://opensource.org/licenses/mit-license.php)**\n- Copyright 2019 © \u003ca href=\"https://github.com/Codexshaper/laravel-permission/blob/master/LICENSE\" target=\"_blank\"\u003eCodexShaper\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodexshaper%2Flaravel-permission","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodexshaper%2Flaravel-permission","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodexshaper%2Flaravel-permission/lists"}