在 Laravel 8 中创建管理员 table
Creating admins table separate in Laravel 8
我正在为用户创建一个 Laravel 项目。 Laravel 有它自己的 laravel/ui
包,但我也在创建它的管理面板,我对我应该为管理员做什么感到有点困惑。另外,我对管理面板的安全性感到困惑。所以我想到了2个解决方案:
- 在用户的table中添加一个名为
status,
的新列,如果其值为admin,则他可以访问管理面板;否则,重定向到主页。
- 创建一个单独的管理员 table 并改进
laravel/ui auth
。为此,我找到了文档 here.
我该怎么办?甚至我在 .env
和 config/database.php
中为 table 添加了 table prefix
。恐怕 hackers/users 不应该访问管理面板。另外,请告诉我 table 前缀是否有利于安全,还是我应该删除 table 前缀?
您需要权限角色系统。
https://spatie.be/docs/laravel-permission/v4/introduction
这对你来说是个好决定。有了配置良好的路由,没有人无法访问数据库就无法访问管理面板。
例如,在面板页面中只有管理员可以访问:
Route::name('adminspace.')->group(['middleware' => ['role:admin']], function () {
Route::view('/panel', 'pages.panel');
});
我正在为用户创建一个 Laravel 项目。 Laravel 有它自己的 laravel/ui
包,但我也在创建它的管理面板,我对我应该为管理员做什么感到有点困惑。另外,我对管理面板的安全性感到困惑。所以我想到了2个解决方案:
- 在用户的table中添加一个名为
status,
的新列,如果其值为admin,则他可以访问管理面板;否则,重定向到主页。 - 创建一个单独的管理员 table 并改进
laravel/ui auth
。为此,我找到了文档 here.
我该怎么办?甚至我在 .env
和 config/database.php
中为 table 添加了 table prefix
。恐怕 hackers/users 不应该访问管理面板。另外,请告诉我 table 前缀是否有利于安全,还是我应该删除 table 前缀?
您需要权限角色系统。
https://spatie.be/docs/laravel-permission/v4/introduction
这对你来说是个好决定。有了配置良好的路由,没有人无法访问数据库就无法访问管理面板。
例如,在面板页面中只有管理员可以访问:
Route::name('adminspace.')->group(['middleware' => ['role:admin']], function () {
Route::view('/panel', 'pages.panel');
});