Безопасные ресурсы JavaScript с помощью Laravel

Я собрал остальные API с помощью laravel 5.2, интегрировал его с angularJS и защитил с помощью jwt.

Это мой первый опыт работы с jwt, а не с angularjs, и в моих прошлых проектах (с использованием Spring mvc / security, angularJS и session вместо jwt) я мог защитить ресурсы, перехватывая URL-адрес с spring security, например так:

<sec:intercept-url pattern="*/app/**" access="isAuthenticated()" />

Есть ли способ сделать это с laravel ?, я уже сделал проверку javascript, поэтому, если токен jwt недействителен, пользователи не могут получить доступ к какому-либо маршруту, кроме входа в систему, проблема в том, что источник javascript доступен, либо пользователь вошли или нет.

1

Решение

Вы можете сделать это в закрытии маршрута:

Route::get('script/{filename}', function($filename){
return response(file_get_contents(public_path('/assets/js/' . $filename)))->header('Content-Type', 'text/javascript')
})->middleware(['auth']);

Хотя это означает, что каждый запрос к этому файлу требует начальной загрузки всего приложения, что существенно снижает производительность. Однако, когда вызывается только один раз, это не так уж важно.

Примечание Закрытие маршрута имеет побочные эффекты; одна из самых больших проблем заключается в том, что файл не может быть кэширован при использовании Closures.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]