第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

用戶只能查看他們的數(shù)據(jù)

用戶只能查看他們的數(shù)據(jù)

PHP
搖曳的薔薇 2022-01-02 14:44:05
我想創(chuàng)建一個(gè)聲明以確保用戶只能查看他們自己的 call_center 數(shù)據(jù),除非他們的 role_id 是 2、3 或 4。截至目前,如果 URL 是 Venture.local/?call_center=77 并且用戶更改了 URL到 Venture.local/?call_center=22 任何人 role_id 都可以看到其他 call_center 數(shù)據(jù)。我希望頁(yè)面返回給用戶自己的 call_center,除非他們的 role_id 是 2、3 或 4。我不確定使這項(xiàng)工作的最佳速度是使用 JavaScript 還是我的dashboardcontroller.php?我已經(jīng)包含了我的控制器,因?yàn)槲艺J(rèn)為我可以做這樣的事情: if($role_id['id'] != '2' || $role_id['id'] != '3' || $role_id['id'] != '4')        {        $pending->where($call_center, '=', $user_id);        $active->where($call_center, '=', $user_id);        $cancelled_contracts->where($call_center, '=', $user_id);        $late_contracts->where($call_center, '=', $user_id);        $back_out_contracts->where($call_center, '=', $user_id);        $pending_late->where($call_center, '=', $user_id);        $pending_cancellation->where($call_center, '=', $user_id);        }我在正確的方向嗎?或者有人可以指導(dǎo)我朝著正確的方向前進(jìn)嗎?任何幫助表示贊賞。
查看完整描述

2 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

在您的 User 模型中,如果您還沒(méi)有將角色設(shè)置為關(guān)系,您可以執(zhí)行以下操作:


public function roles()

{

    return $this->belongsToMany('App\Role');

}


public function hasRole($roleName) : bool

{

    // you could always change this function so it could take

    // an array of role IDs instead of the name


    $roles = $this->roles()->where('name', roleName)->firstOrFail();


    if ($roles) {

        return true;

    }


    return false;


}

在您的呼叫中心模型中,您可以設(shè)置如下功能:


public function canBeViewedBy(User $user) : bool

{

    // customise role name to whichever roles you want


    if ($user->hasRole('canViewAllCentres') {

        return true;

    }


    // you can add additional custom logic here


    return false;

}


然后在您的 Dashboard 控制器中的函數(shù)中:


if (!$call_center->canBeViewedBy(Auth::user()) {

    return abort(403, 'Forbidden');

}


查看完整回答
反對(duì) 回復(fù) 2022-01-02
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

首先,停止在 URL 中傳遞數(shù)據(jù)。如果可能,請(qǐng)?jiān)谟脩舻卿洉r(shí)使用會(huì)話來(lái)處理此問(wèn)題。


如果您不喜歡上述方法,那么您可以為此使用加密/解密。永遠(yuǎn)不要在 URL 中傳遞像 22 或 33 這樣的原始數(shù)字。不要讓最終用戶感到好奇。


use Illuminate\Support\Facades\Crypt;


$encrypted = Crypt::encryptString('123');


$decrypted = Crypt::decryptString($encrypted);

此外,您可以閱讀 Laravel 授權(quán)文檔,它對(duì)您面臨的確切問(wèn)題很有用。


查看完整回答
反對(duì) 回復(fù) 2022-01-02
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)