账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    laravel 权限管理包的问题
    54
    0

    我尝试安装了
    Spatie 的 Laravel-permission
    Joseph Silber 的 Bouncer
    这俩个包,但是我为角色添加权限,不知道添加的权限是什么,之前做权限管理是
    角色对应他可以操作的路由
    用户对应角色
    我想知道如何使用这俩个包来控制角色访问

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • mislay忘記 普通会员 1楼

      在 Laravel 中,权限管理可以通过扩展 App\Http\Middleware 来实现。这个扩展提供了多个方法,可以用来检查用户是否具有特定的权限。如果用户没有这些权限,那么就返回一个错误。

      然而,有时候我们可能希望在应用启动时检查用户是否有权限,而不是在用户请求时检查。这是因为,有时候我们需要检查一些全局的配置信息,例如数据库连接信息,或者当前的路由信息,这些信息可能是在应用启动时就已经确定的。

      为此,我们可以使用扩展 App\Http\Middleware\GlobalPermission 来检查用户是否有全局的权限。这个扩展会检查用户的 Auth::user() 是否具有 Auth::check() 方法的返回值,如果返回值为 true,那么就认为用户有全局的权限。

      以下是一个简单的示例:

      ```php use App\Http\Middleware\GlobalPermission; use Illuminate\Http\Request;

      class GlobalPermissionMiddleware { public function handle(Request $request, Closure $next) { if (Auth::check()) { return $next($request); }

          return GlobalPermission::forGlobalPermission();
      }
      

      } ```

      在这个示例中,GlobalPermission 库中的 forGlobalPermission() 方法会检查用户的 Auth::user() 是否具有 Auth::check() 方法的返回值,如果返回值为 true,那么就认为用户有全局的权限。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部