matthc/ laradmin
该包已被弃用且不再维护。未建议替代包。
laravel的Admin包
0.1.4
2016-02-02 10:59 UTC
Requires
- hieu-le/active: ^3.0
- matthc/privileges: 0.1.*
This package is not auto-updated.
Last update: 2021-12-20 15:51:14 UTC
README
#Laradmin 这是一个集成了角色和权限的Laravel管理包。该包仍在开发中。
##安装 使用以下命令安装包:
$ composer require matthc/laradmin dev-master
此命令将拉取2个包
- Laradmin:管理包
- 权限:角色和权限包
我将在这里说明如何初始化这两个包。
安装包后,将以下提供者添加到config/app.php中的providers数组中
'providers' => [
...
MatthC\Privileges\PrivilegesServiceProvider::class,
MatthC\Laradmin\LaradminServiceProvider::class,
],
然后,使用以下命令发布供应商文件
php artisan vendor:publish
运行迁移
php artisan migrate
###权限(角色和权限)的特定设置和命令 您可以在config/privileges.php中更改角色和权限包的一些配置。更改后,可以使用以下命令添加默认的角色和权限
php artisan privileges:db:seed
如果您还想添加一些带角色的用户,请运行以下命令
php artisan privileges:db:users
为了让一切工作,您必须将以下特质添加到您的User模型中
use MatthC\Privileges\Traits\PrivilegesUserTrait;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use PrivilegesUserTrait;
...
}
并且为了让某些路由工作,您必须向app/Http/kernel.php中添加2个中间件
protected $routeMiddleware = [
...
'role' => \MatthC\Privileges\Middleware\PrivilegesRoleMiddleware::class,
'permission' => \MatthC\Privileges\Middleware\PrivilegesPermissionMiddleware::class,
];
###Laradmin包的特定设置 首先将app/Http/Middleware/RedirectIfAuthenticated.php中的重定向更改为您在config/laradmin.php文件中的前缀。
在app/Http/Middleware/Authenticate.php中:更改重定向链接。
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('[prefix_from_laradmin_setting/login');
}
}
return $next($request);
}
就这样了
###向菜单添加项目 在config/laradmin.php中有一个菜单设置。您可以在其中添加具有其路由的特定菜单项。
'menu' => [
'Welcome' => [
'route' => 'welcome', //has to be a route
'icon' => 'glass', // the font-icon you want
'roles' => ['admin', 'author'], // roles needed to see this link
]
],
您还可以创建一个子菜单:在数组中不要有路由参数很重要
'menu' => [
'Welcome' => [
'icon' => 'glass', // the font-icon you want
'roles' => ['admin', 'author'], // roles needed to see this link
'submenu' => [
'Add a message' => 'messages.add' //the route
]
]
],