如何为不同的用户角色设置权限/视图/路由?

问题描述 投票:0回答:2

我正在建立一个电子商务平台。我必须在其中做出几个用户角色并为其授予特定权限。我已经成功创建了管理员和默认用户角色和权限。

但是根据其他用户角色(例如编辑器/经理/ CS团队)显示视图和菜单项时,我遇到了很多麻烦。

我试图为每个人使用不同的中间件。但是它没有有效地工作,甚至根本没有工作。

对于管理员角色,我创建了一个管理员中间件,用于检查用户角色类型并授予访问权限。我在Route gruop上定义了管理中间件。

你能建议我吗? -如何为不同的用户角色有效地设置权限/视图/菜单项?

谢谢。

注意:我正在尝试不带任何包装的包装。

admin middleware, ignore the read underline

web.php route group for admin

php laravel middleware user-permissions user-roles
2个回答
0
投票

是的,您可以通过设置角色,数据库中的权限表以及在用户登录后将所有这些信息都放入会话或缓存中来创建自己的自定义构建库。但是这样做可能会在将来造成麻烦,因为缺乏对它的全部功能的测试,您必须确定自己到底要做什么才能自己管理它,否则您可以使用已经测试过的许多时间库,例如

laravel-permission 使用一个众所周知且受信任的库可确保它能够解决您的问题,但是请花一些时间阅读它的文档并分析它是否包含您想要在应用程序中使用的所有功能。


0
投票

您需要定义策略。策略是保护雄辩模型上行动的好方法。 Laravel策略是Laravel授权的一部分,可帮助您保护资源免遭未经授权的访问。

请参考此文档以了解如何注册策略以及它如何在视图文件中工作:

https://www.larashout.com/laravel-policies-controlling-authorization-in-laravel

© www.soinside.com 2019 - 2024. All rights reserved.