firalabs/firadmin

此包已被弃用,不再维护。作者建议使用 laravel/laravel 包。
关于此包的最新版本(1.2.0)没有可用的许可证信息。

Laravel 4 的基本管理面板,包含登录和用户控制器实现

1.2.0 2014-04-28 12:22 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:23:48 UTC


README

此包不再积极维护。Laravel 5 的下一个版本可能包含您开始管理面板所需的所有基本功能。

#Firadmin Laravel 4 包用于创建具有默认用户管理的美丽管理面板。此包目前正在积极开发中,遵循 Laravel 4。

Build Status Total Downloads Latest Stable Version

##功能

  • 具有角色权限的资源用户管理
  • 用于管理面板开发的基控制器
  • 用于权限管理的 ACL 组件
  • 使用 Twitter Bootstrap 2.3 完成的 UI 管理面板
  • 包含密码重置和提醒的完整登录组件
  • 易于配置

##安装

对于 Laravel 4.0,使用 firadmin 版本 1.0.*,对于 Laravel 4.1,使用 firadmin 版本 1.1.* 及以上。

首先通过 Composer 安装此包。编辑您项目的 composer.json 文件,以需要 firalabs/firadmin

{
    "require": {
        "firalabs/firadmin": "dev-master"
    }
}

使用 composer update 更新您的包或使用 composer install 安装。

一旦此操作完成,您需要添加服务提供者。打开 app/config/app.php,向提供者数组中添加一个新项。

Firalabs\Firadmin\FiradminServiceProvider

文档

##屏幕截图 firadmin login firadmin user-admin

##配置

要配置包以满足您的需求,您必须在修改它们之前将配置发布到您的应用程序中。运行此 artisan 命令。

php artisan config:publish firalabs/firadmin

配置文件现在可以在 app/config/packages/firalabs/firadmin 中找到。阅读每个配置的说明,以了解您可以覆盖的内容。

##绑定模型

您需要将用户和用户角色模型绑定到您的应用程序中。默认情况下,该包已经提供了这些。在 app/start/global.php 中添加以下几行

/*
|--------------------------------------------------------------------------
| Application IoC Container binding
|--------------------------------------------------------------------------
|*/
App::bind('Firalabs\Firadmin\Repository\UserRepositoryInterface', 'Firalabs\Firadmin\Repository\Eloquent\UserRepository'); //User model
App::bind('Firalabs\Firadmin\Repository\UserRoleRepositoryInterface', 'Firalabs\Firadmin\Repository\Eloquent\UserRoleRepository'); //User role model

之后,您必须在 app/config/auth.php 中将相同的用户仓库设置为模型。

'model' => 'Firalabs\Firadmin\Repository\Eloquent\UserRepository'

##迁移

如果您使用包中提供的默认模型,您必须运行这些迁移命令。

php artisan auth:reminders
php artisan migrate
php artisan migrate --package="firalabs/firadmin"

##创建默认用户

您需要在数据库中至少有一个注册用户。我们提供了一个使用 artisan 命令创建用户的简单方法。首次设置用户时,请使用 --role=""administrator""

php artisan create:user [--role[="..."]] username email password

您还可以在 app/config/packages/firalabs/firadmin/config.php 中更改 Firadmin 检查的角色名称。

'roles' => array(
	/*
	 * Grant all privileges to the administrator roles.
	 */
	'administrator'  => true,

	/*
	 * Granted basics CRUD privileges to the user administrator role on the user resource.
	 */
	'user_administrator' => array('user' => array('create', 'read', 'update', 'delete'))
)

##注册仪表盘控制器

您必须在 app/routes.php 中设置一个路由到仪表板管理员面板。我们提供了一个默认的仪表板控制器用于测试。

/*
|--------------------------------------------------------------------------
| Register admin controllers
|--------------------------------------------------------------------------
*/
Route::group(array ('before' => 'auth', 'prefix' => 'admin' ), function ()
{	
	Route::get('/', 'Firalabs\Firadmin\Controllers\DashboardController@getIndex');
});

##门面(Facades)

我们有两个可用的门面

  • 权限
  • AjaxRequest

您可以将此门面添加到您的 app/config/app.php 文件中。

array(
	'aliases' => array(
		'AjaxRequest' => 'Firalabs\Firadmin\Facades\AjaxRequest',
		'Permissions' => 'Firalabs\Firadmin\Facades\Permissions'
	)
);

##权限

要处理当前登录用户的权限,只需在控制器动作方法中使用此代码。

//Check permission
if(Permissions::isAllowed(Auth::user(), 'user', 'read') !== true){
	return Redirect::route('login')
		->with('reason', Lang::get('firadmin::admin.messages.insufficient-permission') . '<br>')
		->with('error', 1);
}

##Ajax 请求文档即将推出 ...

##管理员控制器开发

当您想创建一个新的管理员控制器时,只需扩展包中提供的 BaseController。这是一个在文件夹 app/controllers/Admin/DashboardController.php 中创建的仪表板控制器的示例。

<?php

use Firalabs\Firadmin\Controllers\BaseController;

/**
 * Default dashboard controller
 */
class Admin_DashboardController extends BaseController {
    
	/**
	 * The current active menu URI
	 * 
	 * @var string
	 */
	public $active_menu = 'admin';

	/**
	 * Get the dashboard
	 */
	public function getIndex()
	{
		//Set layout content
		$this->layout->content = View::make('firadmin::dashboard');
	}
}

##自定义模型仓库

您可以直接扩展这些仓库,或者简单地实现 Firalabs\Firadmin\Repository 提供的接口。

##享受吧!!

您现在已配置好管理员面板。只需访问 https://127.0.0.1/admin 即可访问管理员面板。

随时联系我!!!