搜索
首页php框架Laravellaravel-admin权限管理与实现原理

laravel-admin权限管理与实现原理

Nov 01, 2019 pm 01:58 PM
adminlaravel实现原理权限管理

laravel-admin权限管理与实现原理

我们先使用laravel-admin后台实现一个权限管理

1.添加一个用户管理的权限

1572586670769219.png

标识(slug)是用来标记权限的唯一标识,全局唯一。名称(name)是这个权限的展示名称,要让人一眼看明白这个权限是做什么用的

1572586716715885.png

2.添加一个角色

1572586732152034.png

3.创建管理员

1572586751124011.png

这样的话,我们就有了kaka这个用户,然后我们来登录一下,我们只给了这个kaka一个用户管理的权限,这样就设置成功了。

1572586808391344.png

解析权限管理

实现权限管理数据表

055abf7be945bdc47930a0869279b77.png

1.我们先看看admin_user表,这只是一个单纯保存后台管理员的一个表。

53b24542e283dee730095d58a1026c6.png

2.下面就是我们的角色表,也就是我们在laravel-admin后台添加角色就会添加到这个表里面。

9665989a919abca33cde401fafa86c2.png

3.下来就是重点来了,我们的角色用户表。

我们可以看到角色用户表,里边有个角色id跟用户id的外键,这个表就是把管理员跟角色联系在一起了。

e62d5c1298f4c92c7510b302a84afa3.png

4.下面就是权限表,这个表是存储的所有的权限。

5f6acfdbf251da2d25edfb6ad914304.png

5.最后就是我们的角色权限表了。

b3bed51e9d2b4c926b57236b117b396.png

权限总结

上边给大家看了具体的表结构,其实这个不是很复杂,我们在简单的阐述一下:

首先我们在做权限管理的时候为了什么,那么就是希望不同的管理员看到不同的内容。

1.那么我们需要的第一个表就是后台管理员表admin_users,这个表只是用来存储管理员账号和密码;

2.在一个基本那就是我们的角色表admin_roles,这个表的性质跟管理员表是一样的也是来存储角色的信息;

3.那么这个时候就需要一个表来关联我们的admin_users和admin_roles表,那就是admin_role_users,这个表只是一个中间件表,里边只需要把管理员跟角色的对应关系存储即可;

4.上边都完善了后我们就需要一个权限表了admin_permissions,这个表就是存储我们所有的权限;

5.那么我们的权限是不是需要跟角色关联呢!只有这样用户才可以从自己的角色中获取到自己拥有的权限,那么就需要一个权限角色表admin_role_permissions。

python学习网,大量的免费laravel入门教程,欢迎在线学习!

以上是laravel-admin权限管理与实现原理的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
包容的幻想:解决偏远工作中的孤立和孤独感包容的幻想:解决偏远工作中的孤立和孤独感Apr 25, 2025 am 12:28 AM

Tocombatisolationandlonelinessinremotework,companiesshouldimplementregular,meaningfulinteractions,provideequalgrowthopportunities,andusetechnologyeffectively.1)Fostergenuineconnectionsthroughvirtualcoffeebreaksandpersonalsharing.2)Ensureremoteworkers

Laravel用于全堆栈开发:综合指南Laravel用于全堆栈开发:综合指南Apr 25, 2025 am 12:27 AM

laravelispularfullull-stackDevelopmentBecapeitOffersAsAseAseAseAseBlendOfbackendEdpoperandPowerandForterFlexibility.1)ITSbackEndCapaPabilities,sightifyDatabaseInteractions.2)thebladeTemplatingEngingEngineAllolowsLows

视频会议摊牌:为远程会议选择正确的平台视频会议摊牌:为远程会议选择正确的平台Apr 25, 2025 am 12:26 AM

选择视频会议平台的关键因素包括用户界面、安全性和功能。1)用户界面应直观,如Zoom。2)安全性需重视,MicrosoftTeams提供端到端加密。3)功能需匹配需求,GoogleMeet适合简短会议,CiscoWebex提供高级协作工具。

哪些数据库版本与最新的Laravel兼容?哪些数据库版本与最新的Laravel兼容?Apr 25, 2025 am 12:25 AM

最新版本的Laravel10与MySQL5.7及以上、PostgreSQL9.6及以上、SQLite3.8.8及以上、SQLServer2017及以上兼容。这些版本选择是因为它们支持Laravel的ORM功能,如MySQL5.7的JSON数据类型,提升了查询和存储效率。

将Laravel用作全栈框架的好处将Laravel用作全栈框架的好处Apr 25, 2025 am 12:24 AM

laravelisanexceltentchoiceforfull-stackdevelopmentduetoitsRobustFeaturesAndEsofuse.1)ITSImplifiesComplexComplextaskSwithitSmodernphpsyNtaxandToolSandToolSlikeBlikeforFront-Endandeloquentormquentormquentormforback-end.2)

Laravel的最新版本是什么?Laravel的最新版本是什么?Apr 24, 2025 pm 05:17 PM

Laravel10,releasedonFebruary7,2023,isthelatestversion.Itfeatures:1)Improvederrorhandlingwithanewreportmethodintheexceptionhandler,2)EnhancedsupportforPHP8.1featureslikeenums,and3)AnewLaravel\Promptspackageforinteractivecommand-lineprompts.

最新的Laravel版本如何简化开发?最新的Laravel版本如何简化开发?Apr 24, 2025 pm 05:01 PM

thelatestlaravelververversionenhancesdevelopmentwith:1)简化的inimpliticmodelbinding,2)增强EnhancedeloquentcapabibilitionswithNewqueryMethods和3)改善了supportorfortormodernphpfortornphpforternphpfeatureserslikenamedargenamedArgonedArgonsemandArgoctess,makecodingMoreftermeforefterMealiteFficeAndEnjoyaigaigaigaigaigaiganigaborabilyaboipaigyAndenjoyaigobyabory。

在哪里可以找到最新的Laravel版本的发行说明?在哪里可以找到最新的Laravel版本的发行说明?Apr 24, 2025 pm 04:53 PM

你可以在laravel.com/docs找到最新Laravel版本的发布说明。1)发布说明提供了新功能、错误修复和改进的详细信息。2)它们包含示例和解释,帮助理解新功能的应用。3)注意新功能的潜在复杂性和向后兼容性问题。4)定期审查发布说明可以保持更新并激发创新。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具