Php 如何防止用户查看管理视图

Php 如何防止用户查看管理视图,php,laravel-5,laravel-5.5,Php,Laravel 5,Laravel 5.5,我目前有一个技术问题。我已经在应用程序中配置了多重身份验证,一切正常。在我的应用程序中,有一些视图只允许管理员访问。我通过使用 @if(Auth::guard('admin')->check()) // my restricted navigation links / routes. @endif 但问题是,每当管理员在线时,条件就设置为true,并且具有其他守卫的所有用户都可以看到链接。请帮助我如何防止其他用户看到这些链接,即使管理员已登录。由于您的应用程序是多身份验证,我假设

我目前有一个技术问题。我已经在应用程序中配置了多重身份验证,一切正常。在我的应用程序中,有一些视图只允许管理员访问。我通过使用

@if(Auth::guard('admin')->check())
    // my restricted navigation links / routes.
@endif

但问题是,每当管理员在线时,条件就设置为true,并且具有其他守卫的所有用户都可以看到链接。请帮助我如何防止其他用户看到这些链接,即使管理员已登录。

由于您的应用程序是多身份验证,我假设您已设置了角色(可能还有权限)

Spatie提供的laravel权限包包含刀片指令
@role(“”)
&
@endrole
。我在自己的应用程序中使用它来阻止普通用户查看特定角色的内容

例如:

@role('admin')

@endrole

具有管理员角色的用户可以看到此链接,其他用户则不能

除此之外,您还可以在此路由上启用中间件:

Route::中间件(['auth','role:admin'])->前缀('admin')->组(函数(Router$Router){
$router->get('/users/{user}','AdminUserController@edit')
});


可能重复的不。。。我不这么认为。。。!!!我已经用另一种逻辑做了。。。但看起来,这是解决问题的另一种方法,所以,也谢谢你的另一个建议。