有没有一种方法可以根据Laravel的自定义防护来隐藏网页的某些部分?

时间:2019-12-21 09:03:58

标签: html laravel web authorization laravel-blade

我知道您可以使用来限制控制器功能的访问

public function __construct(){
        $this->middleware('auth');
    }

但这控制了整个网页或刀片文件的访问。

我只想基于自定义保护措施向某些用户显示网站的某些部分,例如管理员。我知道您可以使用@auth@guest进行常规授权,但是有没有办法为新警卫做同样的事情?

(抱歉,问题很愚蠢)

2 个答案:

答案 0 :(得分:0)

当然,您可以在刀片内部使用简单的控制结构 https://laravel.com/docs/5.8/blade#control-structures

这些可以检查任何东西,包括警卫。

可以按照您自己的建议,通过随附的Blade指令添加身份验证防护:

@auth('admin')
    // The user is authenticated...
@endauth

@guest('admin')
    // The user is not authenticated...
@endguest

或者,如果您需要其他功能,则可以扩展blade,并定义自己的指令 例如@isSuperAdmin或其他

https://laravel.com/docs/5.8/blade#extending-blade

答案 1 :(得分:0)

尝试一下。

@if(auth()-> guard('guard_name')-> check())    ....... @endif

这样,您可以向特定用户显示特定部分。