要有效地使用Spatie Laravel权限包,需要几个特定的配置和设置步骤:
安装和出版
- 通过作曲家安装软件包:“作曲家需要Spatie/laravel-permission”。
- 使用工匠命令发布迁移和配置文件:
`php手工艺品供应商:发布-provider =“ Spatie \ clibersion \ persissionserviceProvider”
。
- 在数据库中运行迁移以创建必要的表('角
**用户模型配置**
- 用户模型(或您要分配角色/权限到的任何真实模型)必须使用软件包提供的“ HASROLES”特质。这可以在模型上进行角色和权限管理。
**配置文件调整**
- 软件包发布了`config/cripermiss.php`文件,您可以在其中自定义设置,例如表名称,高速缓存设置和模型类。
- 如果您使用的是UUID而不是自动提出ID,则需要在运行迁移之前对迁移和可能的配置文件进行相应调整。
- 对于多租户或基于团队的设置,您必须在配置文件中启用并配置“团队”功能。
**缓存配置**
- 软件包使用缓存来优化许可查找。默认情况下,缓存到期设置为24小时。
- 您可以在`cache`阵列下的“ config/cripersion.php”中自定义缓存商店,前缀和到期时间。
- 在多租户方案中,建议设置唯一的高速缓存前缀以避免冲突。
- 如果您的应用程序在单个请求中切换租户,则可能需要手动重新启动权限缓存。
**中间件**
- 为了根据角色或权限保护路由,请在您的HTTP内核或中间件配置中注册软件包的中间件别名('cole',
```''','coles_or_permission“)。
高级自定义
- 如果要自定义行为,则可以扩展软件包的角色和权限模型,但是必须小心地更新配置文件以指向自定义模型。
- 更改默认数据库表名称需要更新配置文件以及可能的迁移。
- 对于UUID支持或其他高级用例,请遵循软件包的高级文档部分。
总而言之,关键配置涉及发布和自定义配置文件,将``hasroles''性状添加到您的用户模型中,运行迁移,正确配置缓存以及可选地设置中间件和多租户支持。按照以下步骤确保Spatie软件包将在您的Laravel应用程序中有效工作[1] [2] [6] [8] [9]。
引用:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirentess
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-patie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/Extering-the-patie-patie-mole-mole-model-but-use-a-different-database-tabase