gsdw/permission

Laravel权限增强

dev-master 2016-05-16 06:38 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:26:08 UTC


README

简介

安装

在composer.json中添加代码

"require": {
    "gsdw/permission": "0.1.*"
},
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/gsdw/permission"
    }
],

设置

添加提供者

在config/app.php中添加提供者

Gsdw\Permission\Providers\PermissionServiceProvider::class,

更改用户模型

将用户模型更改为Gsdw\Permission\Models\User

  • 在文件config/auth.php

    'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => Gsdw\Permission\Models\User::class ], ]

  • 在文件app\Http\Controllers\Auth\AuthController.php

创建表

在迁移中使用此代码

$migrate = new \Gsdw\Permission\Database\Migrate();
$migrate->up();

路由集合名称

创建文件config/routeas.php,添加路由别名数据

return [
    'route.alias.name' => 'route custom name',
]

视图

  • 默认布局:layouts.default
  • 在body结束标签之前添加@yield('scriptCode')
  • 将public目录下的所有文件复制到root_folder/public

代码

  • 具有auth.前缀名称的路由用于检查验证权限

  • 使用class Gsdw\Permission\Helpers\Auth

  • 验证授权:Auth::getSelf()->validateRule();
  • 获取当前路由的作用域:Auth::getSelf()->getScopeCurrent();
  • 检查是否是作用域自我:Auth::getSelf()->isScopeSelf();
  • 检查是否是作用域团队:Auth::getSelf()->isScopeTeam();
  • 检查是否是作用域公司:Auth::getSelf()->isScopeCompany();
注销功能

注销时刷新会话 \Gsdw\Permission\Helpers\Auth::getSelf()->flushPermission();

public function logout() {
    Auth::guard($this->getGuard())->logout();
    \Gsdw\Permission\Helpers\Auth::getSelf()->flushPermission();
    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
}