Giter Club home page Giter Club logo

laravel5-rbac-example's People

Contributors

yuansir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel5-rbac-example's Issues

composer install不了

Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Package operations: 33 installs, 0 updates, 0 removals

关于安装

安装方法是:安装完laravel,把laravel5-rbac-example里面的文件复制过去覆盖么?

运行php artisan 命令报错

php artisan route:list

[DaveJamesMiller\Breadcrumbs\Exception]
Breadcrumb name "dashboard" has already been registered

laravel 5.4兼容

这个不做 5.4 的兼容了吗? controll 目录提示
访问/admin/login
Class App\Http\Controllers\Admin\Auth\LoginController does not exist

private repos

  • Installing way/generators (dev-feature/laravel-five-stable a358bb4)
    Cloning failed using an ssh key for authentication, enter your GitHub credentials to access private repos

composer install超时

Downloading: Connecting...    Downloading: Connecting...    Downloading: Connecting...    Failed to download doctrine/common from dist: Your configuration does not allow connections to http://packagist.phpcomposer.com/files/doctrine/common/a579557bc689580c19fee4e27487a67fe60defc0.zip. See https://getcomposer.org/doc/06-config.md#secure-http for details.
Now trying to download from source
  • Installing doctrine/common (v2.6.1)
    Cloning a579557bc689580c19fee4e27487a67fe60defc0

    [Symfony\Component\Process\Exception\ProcessTimedOutException]
    The process "git clone --no-checkout 'https://github.com/doctrine/common.gi
    t' '/Users/qk/Code/laravel5-rbac-example/vendor/doctrine/common' && cd '/Us
    ers/qk/Code/laravel5-rbac-example/vendor/doctrine/common' && git remote add
    composer 'https://github.com/doctrine/common.git' && git fetch composer" e
    xceeded the timeout of 300 seconds.

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] []...

readme.md php artision migrate

php artision migrate好久后才发现是php artisan migrate,而且之前装过一个laravel blog,数据没导入成功,新建一个库laravel5终于装好运行了,谢谢哈

[DaveJamesMiller\Breadcrumbs\Exception] Breadcrumb name "dashboard" has already been registered

你路由文件中并未指明路由名前缀,为什么 Route::resource('admin_user', 'AdminUserController'); 资源路由可以用 route('admin.admin_user.*') 来访问呀,我也用了命名空间和前缀,下面为我工程文件:

//web 路由文件
Route::group(['middleware' => ['web'],'prefix' => 'admin', 'namespace' => 'Admin'], function () {

    //和问题无关的路由已省略
    //用户管理
    Route::resource('users', 'UserController');
    Route::resource('roles', 'RoleController');
    Route::resource('permissions', 'PermissionController');


});

//artisan route:list 命令查看路由
|        | GET|HEAD  | admin/users                         | users.index         | App\Http\Controllers\Admin\UserController@index                        | web,auth.entrust |
|        | POST      | admin/users                         | users.store         | App\Http\Controllers\Admin\UserController@store                        | web,auth.entrust |
|        | GET|HEAD  | admin/users/create                  | users.create        | App\Http\Controllers\Admin\UserController@create                       | web,auth.entrust |
|        | GET|HEAD  | admin/users/{user}                  | users.show          | App\Http\Controllers\Admin\UserController@show                         | web,auth.entrust |
|        | PUT|PATCH | admin/users/{user}                  | users.update        | App\Http\Controllers\Admin\UserController@update                       | web,auth.entrust |
|        | DELETE    | admin/users/{user}                  | users.destroy       | App\Http\Controllers\Admin\UserController@destroy                      | web,auth.entrust |
|        | GET|HEAD  | admin/users/{user}/edit             | users.edit          | App\Http\Controllers\Admin\UserController@edit                         | web,auth.entrust |

//BaseController
<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class BaseController extends Controller
{
    //
    public function __construct()
    {
        $this->middleware('auth.entrust');
    }
}
?>

当我用 php artisan route:list 查看你工程 yuansir/laravel5-rbac-example/ 的路由列表时,收到如下错误:
[DaveJamesMiller\Breadcrumbs\Exception] Breadcrumb name "dashboard" has already been registered。然后我查看了日志,如下:

[2016-11-26 16:30:30] APP_ENV=local
APP_DEBUG=true
APP_KEY=ptqZuq1sdTThZwBLeK1B9s1kJfZHatEA

DB_HOST=localhost
DB_DATABASE=laravel5-rbac-example
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=array
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null.ERROR: DaveJamesMiller\Breadcrumbs\Exception: Breadcrumb name "dashboard" has already been registered in /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/davejamesmiller/laravel-breadcrumbs/src/Manager.php:23
Stack trace:
#0 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/support/Facades/Facade.php(219): DaveJamesMiller\Breadcrumbs\Manager->register('dashboard', Object(Closure))
#1 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/app/Http/Controllers/Admin/BaseController.php(18): Illuminate\Support\Facades\Facade::__callStatic('register', Array)
#2 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/app/Http/Controllers/Admin/AdminUserController.php(20): App\Http\Controllers\Admin\BaseController->__construct()
#3 [internal function]: App\Http\Controllers\Admin\AdminUserController->__construct(Object(App\Repositories\AdminUserRepositoryEloquent))
#4 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/container/Container.php(779): ReflectionClass->newInstanceArgs(Array)
#5 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/container/Container.php(629): Illuminate\Container\Container->build('App\\Http\\Contro...', Array)
#6 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('App\\Http\\Contro...', Array)
#7 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php(165): Illuminate\Foundation\Application->make('App\\Http\\Contro...')
#8 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php(146): Illuminate\Foundation\Console\RouteListCommand->getControllerMiddleware('App\\Http\\Contro...')
#9 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php(118): Illuminate\Foundation\Console\RouteListCommand->getMiddleware(Object(Illuminate\Routing\Route))
#10 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php(88): Illuminate\Foundation\Console\RouteListCommand->getRouteInformation(Object(Illuminate\Routing\Route))
#11 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php(75): Illuminate\Foundation\Console\RouteListCommand->getRoutes()
#12 [internal function]: Illuminate\Foundation\Console\RouteListCommand->fire()
#13 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/container/Container.php(507): call_user_func_array(Array, Array)
#14 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/console/Command.php(169): Illuminate\Container\Container->call(Array)
#15 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/symfony/console/Command/Command.php(256): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/illuminate/console/Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/symfony/console/Application.php(794): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Foundation\Console\RouteListCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /Users/capitan/GitHub/Laravel/权限管理/laravel5-rbac-example-master/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 {main}  

后面我又尝试在你工程 yuansir/laravel5-rbac-example/ 升级 composer 包,也报错了:

capitan@CapitandeMacBook-Pro  ~/GitHub/Laravel/权限管理/laravel5-rbac-example-master  composer update
> php artisan clear-compiled
Loading composer repositories with package information


  [Composer\Downloader\TransportException]
  The "https://api.github.com/repos/hiendv/entrust" file could not be downloaded (HTTP/1.1 404 Not Found)

之前第一次安装没有问题的,感觉网络问题不大,我准备换个网络好的再试试。。。
我的主要问题就是你的资源路由命名为什么可以带个前缀啊,我用的5.3版本,木有前缀,所以在权限中间件进行权限判断的时候无法正确验证路由名的问题,下面为我工程文件

<?php

namespace App\Http\Middleware;

use Closure;
use Route;
use Entrust;
class VerifyAuthRouteEntrust
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
       //这是简化版,没有验证超级管理员和ajax操作请求
        if (!$this->verifyAuthRouteEntrust()) {
            //不能访问
            dd('拦截,无权限访问');
        }
        return $next($request);
    }


    /**
     * 验证当前用户是否有权限访问当前路由
     * @return bool
     */
    public function verifyAuthRouteEntrust()
    {
        $currentRouteName = Route::currentRouteName();
        return Entrust::can($currentRouteName);
    }

}
 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.