laravel如何实现请求图片或文件需用户验证
生活随笔
收集整理的這篇文章主要介紹了
laravel如何实现请求图片或文件需用户验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求描述:實現訪問文件需驗證用戶。
實現方案:
方案一:根據laravel業務中間件驗證用戶思路來設計,看了一些網上的設計方案,都不是我想要的。所以我思考了一下以接口形式來訪問指定文件再請求接口時來驗證用戶
1、測試接口訪問返回訪問文件
public function test(Request $request){$fileName = $request->id;return response()->file(realpath(base_path('public')).'/'.$fileName);}2、增加路由
Route::any('/test/{id}', 'Login\LoginController@test');3、測試請求public下指定文件
4、修改上傳文件返回文件路徑接口,把返回的圖片請求根據路由來修改。
方案二:設置nginx對路徑進行重寫訪問
1、配置nginx 增加重新規則
if ( $uri ~* "^/uploads/files/(.+)" ) {set $rightUrl $1;rewrite ^/(.*)$ http://xxxx:8284/admin/files/$rightUrl last;#proxy_pass http://39.96.41.159:8284/admin/images}注意:admin/images 走的是框架接口,接口直接返回文件或圖片,接口參考一.1。其中路徑中(.+)為動態參數,動態參數為$1,$1不能被直接使用所以要變量賦值,rewrite 中的last意思是完成rewrite后馬上發起請求,也可以break不在執行nginx下面語句。nginx重新路由可以再不修改之前上傳路徑的情況下完美解決文件需要驗證的問題,推薦。
總結
以上是生活随笔為你收集整理的laravel如何实现请求图片或文件需用户验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存储ic载板_IC载板工艺
- 下一篇: EOS 资源汇总