appzcoder/laravel-roles

该包已被废弃,不再维护。作者建议使用appzcoder/laravel-admin包代替。

Laravel 5 用户角色管理器

dev-master 2015-08-24 13:15 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:49:08 UTC


README

Laravel 5 用户角色管理器

这个包的想法来源于laracast laracasts/Users-and-Roles-in-Laravel,现在它已经为laravel 5构建。

要求

Laravel >=5.1
PHP >= 5.5.9 

安装

  1. 运行

    composer require "appzcoder/laravel-roles":"dev-master"
    
  2. 将服务提供者添加到 /config/app.php 文件中。

    'providers' => [
        ...
    
        Appzcoder\LaravelRoles\LaravelRolesServiceProvider::class,
    ],
  3. 发布迁移

    php artisan vendor:publish
    
  4. 运行迁移命令

    php artisan migrate
    
  5. UserRoles 特性包含到你的 user 模型 中,位于 /app/User.php

    use Appzcoder\LaravelRoles\Traits\UserRoles;
    
    class User extends Model implements AuthenticatableContract, CanResetPasswordContract
    {
        use Authenticatable, CanResetPassword, UserRoles;

用法

如下使用路由。

Route::get('/roles', function () {

    /* Create user if needed
    App\User::create([
    'name' => 'Sohel Amin',
    'email' => 'sohelamincse@gmail.com',
    'password' => bcrypt('123456'),
    ]);
     */

    $user = App\User::first();

    /* Create roles
    $role = new Appzcoder\LaravelRoles\Models\Role;
    $role->name = 'admin';
    $role->save();
     */

    /* Assign and remove role from user
    $role = Appzcoder\LaravelRoles\Models\Role::whereName('admin')->first();
    $user->assignRole($role);
    //$user->removeRole(2);
     */

    return $user->roles;
});

Route::get('/admin', ['middleware' => 'role:admin', 'uses' => 'AdminController@index']);

##作者

Sohel Amin