mar*_*ros 0 laravel laravel-5 laravel-middleware laravel-5.3
我创建了中间件
php artisan make:middleware isTeacher
Run Code Online (Sandbox Code Playgroud)
在 App/Http/isTeacher.php 中我放置了检查:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class isTeacher
{
public function handle($request, Closure $next)
{
$user = Auth::user();
if($user && $user->capability == 3)
{
return $next($request);
}
else
return redirect('/login');
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我在 app/Http/Kernel.php 中定义了中间件
protected $routeMiddleware = [
...
'auth.teacher' => \App\Http\Middleware\isTeacher::class,
...
];
Run Code Online (Sandbox Code Playgroud)
问题是:如何在刀片模板中查看教师能力?我正在尝试这样做:
@if (Auth::isTeacher())
Run Code Online (Sandbox Code Playgroud)
但不起作用
任何帮助表示赞赏
小智 11
Blade 指令只需要返回 true 或 false,不需要其他。
boot()您可以在方法中执行以下操作AppServiceProvider.php
Blade::if('teacher', function () {
return auth()->user() && $user->capability == 3;
});Run Code Online (Sandbox Code Playgroud)
然后您将能够在刀片模板中执行以下操作:
@teacher
Only teachers will see this
@endteacherRun Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17445 次 |
| 最近记录: |