matthc/laradmin

该包已被弃用且不再维护。未建议替代包。

laravel的Admin包

0.1.4 2016-02-02 10:59 UTC

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
        ]
    ]
],