• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:00:02
    文檔

    關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用

    關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用: 下面由ThinkPHP教程欄目給大家介紹Thinkphp 6.0 認(rèn)證插件 Think-authz,希望對需要的朋友有所幫助!安裝該擴(kuò)展需要 PHP 7.1+ 和 ThinkPHP 6.0+,針對 TP 5.1 請使用 Think-Casbin .使用composer安裝:composer require cas
    推薦度:
    導(dǎo)讀關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用: 下面由ThinkPHP教程欄目給大家介紹Thinkphp 6.0 認(rèn)證插件 Think-authz,希望對需要的朋友有所幫助!安裝該擴(kuò)展需要 PHP 7.1+ 和 ThinkPHP 6.0+,針對 TP 5.1 請使用 Think-Casbin .使用composer安裝:composer require cas

    使用composer安裝:

    composer require casbin/think-authz

    注冊服務(wù),在應(yīng)用的全局公共文件service.php中加入:

    return [
     // ...
    
     tauthz\TauthzService::class,];

    發(fā)布配置文件和數(shù)據(jù)庫遷移文件:

    php think tauthz:publish

    這將自動生成 config/tauthz-rbac-model.confconfig/tauthz.php 文件。

    執(zhí)行遷移工具(確保數(shù)據(jù)庫配置信息正確):

    php think migrate:run

    這將創(chuàng)建名為 rules 的表。

    用法

    快速開始

    安裝成功后,可以這樣使用:

    use tauthz\facade\Enforcer;
    // adds permissions to a user
    Enforcer::addPermissionForUser('eve', 'articles', 'read');
    // adds a role for a user.
    Enforcer::addRoleForUser('eve', 'writer');
    // adds permissions to a rule
    Enforcer::addPolicy('writer', 'articles','edit');

    你可以檢查一個用戶是否擁有某個權(quán)限:

    // to check if a user has permission
    if (Enforcer::enforce("eve", "articles", "edit")) {
     // permit eve to edit articles} else {
     // deny the request, show an error}

    使用 Enforcer Api

    它提供了非常豐富的 API,以促進(jìn)對 Policy 的各種操作:

    獲取所有角色:

    Enforcer::getAllRoles(); // ['writer', 'reader']

    獲取所有的角色的授權(quán)規(guī)則:

    Enforcer::getPolicy();

    獲取某個用戶的所有角色:

    Enforcer::getRolesForUser('eve'); // ['writer']

    獲取某個角色的所有用戶:

    Enforcer::getUsersForRole('writer'); // ['eve']

    決定用戶是否擁有某個角色:

    Enforcer::hasRoleForUser('eve', 'writer'); // true or false

    給用戶添加角色:

    Enforcer::addRoleForUser('eve', 'writer');

    賦予權(quán)限給某個用戶或角色:

    // to user
    Enforcer::addPermissionForUser('eve', 'articles', 'read');
    // to role
    Enforcer::addPermissionForUser('writer', 'articles','edit');

    刪除用戶的角色:

    Enforcer::deleteRoleForUser('eve', 'writer');

    刪除某個用戶的所有角色:

    Enforcer::deleteRolesForUser('eve');

    刪除單個角色:

    Enforcer::deleteRole('writer');

    刪除某個權(quán)限:

    Enforcer::deletePermission('articles', 'read'); 
    // returns false if the permission does not exist (aka not affected).

    刪除某個用戶或角色的權(quán)限:

    Enforcer::deletePermissionForUser('eve', 'articles', 'read');

    刪除某個用戶或角色的所有權(quán)限:

    // to user
    Enforcer::deletePermissionsForUser('eve');
    // to role
    Enforcer::deletePermissionsForUser('writer');

    獲取用戶或角色的所有權(quán)限:

    Enforcer::getPermissionsForUser('eve'); 
    // return array

    決定某個用戶是否擁有某個權(quán)限

    Enforcer::hasPermissionForUser('eve', 'articles', 'read'); 
    // true or false

    更多 API 參考 Casbin API (https://casbin.org/docs/en/management-api)。

    使用中間件

    該擴(kuò)展包帶有一個 \tauthz\middleware\Basic::class 中間件:

    Route::get('news/:id','News/Show')
     ->middleware(\tauthz\middleware\Basic::class, ['news', 'read']);

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用

    關(guān)于Thinkphp 6.0認(rèn)證插件Think-authz的安裝使用: 下面由ThinkPHP教程欄目給大家介紹Thinkphp 6.0 認(rèn)證插件 Think-authz,希望對需要的朋友有所幫助!安裝該擴(kuò)展需要 PHP 7.1+ 和 ThinkPHP 6.0+,針對 TP 5.1 請使用 Think-Casbin .使用composer安裝:composer require cas
    推薦度:
    標(biāo)簽: 安裝 驗證 6.0
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久草热8精品视频在线观看| 国产伦精品一区二区免费| 国产成人精品日本亚洲| 国产精品亚洲欧美大片在线观看| 少妇人妻偷人精品无码视频新浪| 国产精品人成在线观看| 精品福利一区二区三区免费视频| 免费国产在线精品一区| 久久国产乱子精品免费女| 无码精品国产VA在线观看| 亚洲精品无码不卡| 久久99精品久久久久久久久久| 国产精品狼人久久久久影院| 久久99精品久久久久久久不卡| 精品国产黑色丝袜高跟鞋| 国产精品无码成人午夜电影| 久久国产精品免费| 久草视频在线这里精品| 亚洲精品无码精品mV在线观看| 国产精品高清2021在线| 国产午夜精品一区二区三区漫画 | 精品一区二区三区免费毛片爱| 国产精品夜色视频一级区| 国产一精品一AV一免费| 亚洲精品天堂成人片?V在线播放| 99久久www免费人成精品| 97国产精品视频| 亚洲国产精品无码久久SM| 久久精品亚洲男人的天堂| 91亚洲国产成人久久精品网址 | 92国产精品午夜福利免费| 久久精品国产第一区二区三区 | 亚洲精品免费视频| 97精品人妻系列无码人妻| 久久永久免费人妻精品下载| 亚洲精品欧美二区三区中文字幕| 国产精品美女久久久网AV| 欧美精品免费观看二区| 无码精品国产VA在线观看DVD| 欧美成人精品第一区二区三区 | 精品91自产拍在线观看二区|