首页 > 解决方案 > 如何扩展 Laravel 内置的身份验证以处理控制器构造函数中的授权?

问题描述

我有一个使用内置基本 Laravel 身份验证的 Laravel 应用程序,但除了能够验证用户身份之外,我还需要能够执行诸如检查权限之类的操作,并为给定的控制器操作授权它们,以及执行诸如检查之类的操作用户所在站点的子域,并相应地允许他们访问或不允许访问。

为了获得授权,我遇到了 Spatie,并且能够对其进行设置并使其正常工作。好像没问题。但是,我不确定将它集成到我的控制器中的最佳方式。

如果可能的话,我想检查控制器构造函数中的 Spatie 权限并相应地阻止访问,而不是检查每个控制器操作中的授权。在 Laravel 中有没有好的方法来做到这一点?如何从控制器构造函数将用户指向未经授权的访问视图或将它们重定向到登录屏幕等?

同样,如果用户尝试执行对给定子域无效的操作,我如何阻止它们/从构造函数重定向它们?谢谢你。

标签: phplaravelauthorizationsubdomainlaravel-permission

解决方案


中间件是要走的路……您可以在控制器的构造函数或路由中使用它。

https://laravel.com/docs/5.7/middleware


推荐阅读