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

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

會話過期時調用成員函數出錯(中間件)

會話過期時調用成員函數出錯(中間件)

PHP
嗶嗶one 2023-04-28 14:57:41
當我的會話到期并重新加載頁面時,我收到以下錯誤(在以下代碼塊中發出信號的行):hasRole()錯誤:調用成員函數nullclass AdminMiddleware{    public function handle($request, Closure $next) {        if ($request->user()->hasRole('admin')) // this line            return $next( $request );        else            abort( 401, 'Esta acción no está autorizada.' );    }}hasRole()是我User模型中的一個函數,用于檢查用戶是否有權訪問某些管理路由:class User extends Authenticatable{    /**     *  Role-user relation (one-to-many)     */    public function roles() {        return $this->belongsToMany( Role::class )->withTimestamps();    }    /**     *  Authorize roles     */    public function authorizeRoles($roles) {        if ($this->hasAnyRole($roles))            return true;        abort( 401, 'Esta acción no está autorizada.' );    }    /**     *  Check if user has specified role     */    public function hasRole($role) {        if ($this->roles()->where('name', $role)->first())            return true;        return false;    }}
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

當我的會話到期并重新加載頁面時,我收到以下錯誤(在以下代碼塊中發出信號的行):


hasRole()錯誤:調用成員函數null


class AdminMiddleware

{

    public function handle($request, Closure $next) {

        if ($request->user()->hasRole('admin')) // this line

            return $next( $request );

        else

            abort( 401, 'Esta acción no está autorizada.' );

    }

}

hasRole()是我User模型中的一個函數,用于檢查用戶是否有權訪問某些管理路由:


class User extends Authenticatable

{

    /**

     *  Role-user relation (one-to-many)

     */

    public function roles() {

        return $this->belongsToMany( Role::class )->withTimestamps();

    }



    /**

     *  Authorize roles

     */

    public function authorizeRoles($roles) {

        if ($this->hasAnyRole($roles))

            return true;


        abort( 401, 'Esta acción no está autorizada.' );

    }



    /**

     *  Check if user has specified role

     */

    public function hasRole($role) {

        if ($this->roles()->where('name', $role)->first())

            return true;


        return false;

    }

}


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 145 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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