We first use the laravel-admin background to implement a permission management
1. Add a user management permission
The identifier (slug) is a unique identifier used to mark permissions and is globally unique. The name (name) is the display name of this permission. It should be clear at a glance what this permission is used for.
2. Add a role
3. Create an administrator
#In this case, we have the user kaka, and then we log in, we only give The permissions of this kaka are managed by one user, so the setting is successful.
Analyze permission management
Implement permission management data table
1. Let’s take a look at the admin_user table first. This is just a table that simply stores background administrators.
#2. The following is our role table, that is, when we add roles in the laravel-admin background, it will be added to this table.
#3. Next comes the key point, our role user table.
We can see the role user table, which has a foreign key between the role id and the user id. This table connects the administrator and the role.
#4. The following is the permissions table, which stores all the permissions.
#5. Finally is our role permissions table.
Permission summary
The above shows you the specific table structure. In fact, this is not very complicated. We will briefly explain it. Let’s take a look:
First of all, why do we do permission management? We want different administrators to see different content.
1. Then the first table we need is the background administrator table admin_users. This table is only used to store the administrator account and password;
2. On a basic basis, that is our Role table admin_roles, the nature of this table is the same as the administrator table, and it is also used to store role information;
3. Then at this time, we need a table to associate our admin_users and admin_roles tables, that is admin_role_users, This table is just a middleware table. It only needs to store the corresponding relationship between administrators and roles;
4. After completing the above, we need a permission table admin_permissions. This table is to store our All permissions;
5. So do our permissions need to be associated with roles? Only in this way can users obtain the permissions they have from their roles, then a permission role table admin_role_permissions is needed.
python learning network, a large number of free laravel introductory tutorials, welcome to learn online!
The above is the detailed content of laravel-admin permission management and implementation principles. For more information, please follow other related articles on the PHP Chinese website!