Laravel 5 Laravel 5 AuthServiceProvider流

Laravel 5 Laravel 5 AuthServiceProvider流,laravel-5,authorization,roles,Laravel 5,Authorization,Roles,我是Laravel的新手,因此我需要AuthServiceProvider类解决方案方面的帮助 如果用户可以有多个角色,我应该如何编写角色控制? 我有这个: $gate->define( 'admin', function ( $user ) { return $user->roles() ->where( 'name', 'admin' ) ->orWhere( 'name', 'super_admin' ) -&

我是Laravel的新手,因此我需要AuthServiceProvider类解决方案方面的帮助

如果用户可以有多个角色,我应该如何编写角色控制? 我有这个:

$gate->define( 'admin', function ( $user )
{
    return $user->roles()
        ->where( 'name', 'admin' )
        ->orWhere( 'name', 'super_admin' )
        ->first();
} );
或者最好还是写下来

$gate->define( 'admin', function ( $user )
{
    foreach( $user->roles as $role )
    {
        if( $role->name == 'admin' || $role->name == 'super_admin' ) return true
    }
    return false;
} );
还是有更好的办法?第一个示例中的查询是执行一次还是每次我需要检查用户角色时执行一次


Thx

您可以为角色和不同类型的权限使用现成的包。这是我使用过的一些软件包


谢谢。我试试看。