This repository uses PHP Laravel and Javascript Vue.js frameworks to implement Role Permissions management in CMS. Cookie based SPA authorization feature of Laravel Sanctum package is used to authorize the user inside the content management system. If a logged user has permission to do specific task, the link to visit the task and the page containing the task will be available to the logged user. Otherwise the page will be unavailable to the logged user with 401 unauthorized error even though try to access the route manually. This repo utilizes the SPA feature of Vue.js.
Following credentials can be used to log in the system
Sl | Role | Email Address | Password |
---|---|---|---|
01 | Super Admin | [email protected] | password |
02 | Admin | [email protected] | password |
03 | Author | [email protected] | password |
04 | Editor | [email protected] | password |
05 | User | [email protected] | password |
06 | User | [email protected] | password |
07 | User | [email protected] | password |
08 | User | [email protected] | password |
09 | User | [email protected] | password |
Initailly only Super Admin is granted all the permissions. All other role has no permissions. To add permissions to any other role first log in as super admin, then visit all roles then role edit. Permissions can be attached or detached to any role from here.
First download this repository. Navigate to root of the project and then
composer install
npm install
Copy the contents of .env.example to .env file. Fill up the database credentials(DB_DATABASE, DB_USERNAME, DB_PASSWORD) according to your database. At the root of your project run the following commands on terminal sequentially.
php artisan key:generate
php artisan migrate
php artisan db:seed
This will store all the default data into the database. Then compile the assets by
npm run dev
Finally initiate your server and enjoy !!!
php artisan serve