亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 不返回第一次返回

Laravel 不返回第一次返回

PHP
繁星coding 2022-10-22 15:53:42
當我在另一個類中擴展 ApiBaseController 時,拒絕響應令牌不起作用。即使我輸入了錯誤的 app-token,但仍然在另一堂課上做出回應。class ApiBaseController extends Controller{    protected $user;    public function __construct()    {        if (request()->header('app-token') != 'ofdsafalkhguddskjafl01JhBF9mGx2jay'){            return response()->json([                'success'=>false,                'status'=>'401',                'message'=>'Token Denied !',                'response'=>[                    'total'=>0,                    'data'=>[]                ]            ]);        }        else{            $this->user = Auth::guard('api')->user();        }    }}即使我輸入了錯誤的應用令牌,該課程仍然有效class AttendeesApiController extends ApiBaseController{    public function index(Request $request)    {        return Attendee::scope($this->account_id)->paginate($request->get('per_page', 25));    }}我想確保當 app-token 出錯時會給出Token Denied !響應請給我一些建議
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

處理此問題的最佳方法是將這些路由分組到中間件中,并在中間件本身中檢查不記名令牌。這將使您的方法更加整潔,并且您可以輕松地在此路由中間件組中添加需要不記名令牌檢查的新路由。



查看完整回答
反對 回復 2022-10-22
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

雖然將令牌驗證問題分開是一個好主意,但在構造函數中做這樣的事情并不是一個好習慣,更不用說將它隱藏在基類的構造函數中了。


一般來說,構造函數應該用于構造對象,而不是“做事”。


因為你想return早點,從控制器中提取這個問題有點復雜。但這就是中間件的用途。


查看有關創建自己的中間件的 Laravel 文檔(盡管您嘗試做的事情可能已經內置)


一個示例中間件類可能如下所示:


<?php


namespace App\Http\Middleware;


use Closure;


class CheckToken

{

    /**

     * Handle an incoming request and check the token.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  \Closure  $next

     * @return mixed

     */

    public function handle($request, Closure $next)

    {

        if (...) { //your token check

            return ...; // your early-returned json.

        }


        return $next($request); //otherwise continue

    }

}


查看完整回答
反對 回復 2022-10-22
  • 2 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號