簡體   English   中英

如何創建角色,並僅授予具有該角色的某些用戶訪問Modle中的區塊的權限?

[英]How to create a role and give access to only certain users having that role to the block in moodle?

我有一個街區,現在我希望某些用戶訪問該街區。 這些特定用戶將具有為他們創建的角色。 我的問題是,如何創建角色,為其分配用戶,並且該角色將使用戶能夠看到我創建的特定塊。

謝謝

我將在blocks/yourblockname/db/access.php為該塊創建功能

'block/yourblockname:view' => array(
    'captype' => 'read',
    'contextlevel' => CONTEXT_BLOCK,
    'archetypes' => array(
        'manager' => CAP_ALLOW
    )
)

在/ blocks/yourblockname/lang/en/block_yourblockname.php您還需要一個語言字符串

$string['yourblockname:view'] = 'View this block';

然后在您的塊類中的blocks/yourblockname/block_yourblockname.php

檢查功能

function get_content() {
    ...
    $this->content = new stdClass;
    $this->content->text = '';
    $this->content->footer = '';
    ...
    if (!has_capability('block/yourblockname:view', $this->page->context)) {
        // Return blank content so the block isn't displayed.
        return $this->content;
    }

您需要在version.php中更改version.php才能安裝該功能。

然后轉到角色並設置允許使用所需角色的功能。

這是您如何在穆迪中做到的:

如何使某個塊僅對某些用戶可見?

1)從“站點管理”>“用戶”>“權限”>“定義角色”創建自定義角色

2)您可以選擇一個原型,這意味着選擇一個原型將允許您繼承該原型功能。

3)還要選擇上下文作為塊。 這樣您就可以從塊設置(即本地設置)級別分配此角色。

4)現在回到家,打開編輯,以便您可以在塊的右上角看到本地塊設置齒輪,單擊它。

5)單擊分配角色到該塊。

6)您現在位於“分配角色”頁面中,在左列中,在“管理”下,您將看到“阻止:”,並在其中進行以下設置:1)分配角色,2)權限,3)檢查權限。

7)單擊權限,您將在“阻止”下看到視圖阻止。 在其下方有一個加號,單擊它。

8)現在您可以編輯哪些人可以從此處查看此圖塊。 只需保留您創建的角色並刪除其他角色即可。

9)現在轉到“分配角色”。

10)您將看到一個帶有角色,說明和具有角色的用戶列的表。 單擊該表中的角色名稱。

11)您將到達一個頁面,您可以在其中批量分配用戶該角色選項。 將用戶分配給該角色后,您就可以完成該過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM