Php 如何在内置的Laravel';s认证?

Php 如何在内置的Laravel';s认证?,php,laravel,permissions,laravel-5.1,Php,Laravel,Permissions,Laravel 5.1,我需要建立某种类型的特权系统,在那里我可以控制谁可以在我的应用程序上执行什么。我在网上看到了很多现成的软件包,但没有一个能让我在不硬编码权限/模板的情况下利用它来处理我的需求 我的想法是创建一个中间件,对登录用户进行身份验证。如果我有以下路线 Route::get('accounts', array( 'as' => 'accounts_index_path', 'uses' => 'AccountController@index') ); Route::get('

我需要建立某种类型的特权系统,在那里我可以控制谁可以在我的应用程序上执行什么。我在网上看到了很多现成的软件包,但没有一个能让我在不硬编码权限/模板的情况下利用它来处理我的需求

我的想法是创建一个中间件,对登录用户进行身份验证。如果我有以下路线

Route::get('accounts', array(
    'as' => 'accounts_index_path',
    'uses' => 'AccountController@index')
);

Route::get('account/create', array(
    'as' => 'account_create_path',
    'uses' => 'AccountController@create')
);

Route::post('account/store', array(
    'as' => 'account_store_path',
    'uses' => 'AccountController@store')
);

Route::get('account/{account}', array(
    'as' => 'account_show_path',
    'uses' => 'AccountController@show')
)->where('account', '[0-9]+');

Route::get('account/{account}/edit', array(
    'as' => 'account_edit_path',
    'uses' => 'AccountController@edit')
)->where('account', '[0-9]+');

Route::put('account/{account}/update', array(
    'as' => 'account_update_path',
    'uses' => 'AccountController@update')
)->where('account', '[0-9]+');


Route::delete('account/{account}', array(
    'as' => 'account_destroy_path',
    'uses' => 'AccountController@destroy')
)->where('account', '[0-9]+');
理论上,我应该能够让用户访问以下路由名称“account\u store\u path”、“account\u create\u path”、“accounts\u index\u path”

也许,如果我不希望用户访问特定的路由,那么我不会给他们权限

理论上,这应该是可行的,但我希望有一个更健壮的系统,在这个系统中,我可以让用户编辑一条记录,但不是所有字段都可以。例如,我希望具有“经理”角色的用户能够更改帐户名、帐户所有者,但我不希望具有“标准”角色的用户编辑这些字段,但我希望标准用户能够更新注释字段和其他字段

我明白,我可能需要创建一个具有所有允许权限的模板,然后将使用分配给正确的模板

当我有权决定谁可以更新什么时,我需要帮助为这样一个特权系统设计最佳方法

问题
如何允许/禁止用户更新某些字段而不更新其他字段?

可以在Laravel中构建角色。有一个视频教程,可以在用户身份验证的基础上构建自己的角色系统。按照这个链接,它是为Laravel4.2做的,但是只要稍作修改,你就可以为Laravel5.x做。我在4.2、5.0和5.1上都做过,效果不错。当您完成后,您将创建组,如管理员、超级用户、更新用户等。根据您的权限结构,不同的组将获得不同的权限

有关此主题的两个链接如下:



编辑
我已经更详细地回答了另一个问题,可能还需要看一看:

在Laravel中建立角色是可能的。有一个视频教程,可以在用户身份验证的基础上构建自己的角色系统。按照这个链接,它是为Laravel4.2做的,但是只要稍作修改,你就可以为Laravel5.x做。我在4.2、5.0和5.1上都做过,效果不错。当您完成后,您将创建组,如管理员、超级用户、更新用户等。根据您的权限结构,不同的组将获得不同的权限

有关此主题的两个链接如下:



编辑
我已经更详细地回答了另一个问题,可能还需要看一看: