Pad*_*dro 1 php jwt laravel angularjs satellizer
我已经用 laravel 5.2 构建了 rest api,将它与 angularJS 集成并用 jwt 保护它。
这是我第一次使用 jwt,而不是 angularjs,在我过去的项目中(使用 spring mvc/security、angularJS 和 session 代替 jwt),我可以通过使用 spring 安全拦截 url 来保护资源,如下所示:
<sec:intercept-url pattern="*/app/**" access="isAuthenticated()" />
Run Code Online (Sandbox Code Playgroud)
有没有办法用 laravel 做到这一点?,我已经做了 javascript 验证,所以如果 jwt 令牌无效,用户不能访问任何路由,只能登录,问题是 javascript 源是可用的,无论用户是登录与否。
您可以在路由关闭中执行此操作:
Route::get('script/{filename}', function($filename){
return response(file_get_contents(public_path('/assets/js/' . $filename)))->header('Content-Type', 'text/javascript')
})->middleware(['auth']);
Run Code Online (Sandbox Code Playgroud)
尽管这意味着对这个文件的每个请求都需要引导整个应用程序,这是一个重大的性能损失。然而,当只调用一次时,这不是什么大问题。
旁注路线关闭有副作用;最大的问题之一是使用闭包时无法缓存文件。
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |