2014-05-08 76 views
1

我曾嘗試在Cartalyst網站上查找某些文檔,但我無法在其中找到它。所以,我的問題是......如果我在創建視圖中有一個組列表,請說Admin,Moderator和User。那麼我將如何自動化這些組的權限?哨兵2 - 創建組權限 - Laravel包

所以我想要管理員創建:1,刪除:1等。版主可以創建,但不能刪除,用戶不能做任何這些。

在我的創建中,我將有一個下拉列表,您可以將這些組分配給註冊用戶,並且會自動爲該用戶創建權限。

有人能給我一個這樣做的最簡單的方法快速概述?我期望在Sentry上有某種功能可以幫助,但是當Sentry從站點被取走時,我似乎無法找到文檔。

回答

2

首先,您需要像您提到的那樣創建三個組(管理員,主持人和用戶) - 以下是管理員組的示例。

$group = Sentry::createGroup(array(
    'name'  => 'Admin', 
    'permissions' => array(
     'admin' => 1, 
     'create' => 1, 
     'delete' => 1 
    ), 
)); 

對於其他組,您可以對permissions數組進行更改。您可以獲得組權限 -

$groupPermissions = $group->getPermissions(); 

你走了!

要將用戶分配到特定的組,您可以像下面那樣添加。

$adminGroup = Sentry::findGroupById(1);  
$user->addGroup($adminGroup); 

您需要做的就是選擇任何(創建的)組,並在用戶創建時使用下拉菜單進行分配。或者,您可以簡單地將用戶分配到默認組。

無論如何,您可以在供應商內的Cartalyst/Sentry包中找到Sentry文檔。

+0

完美的,非常感謝你的答案。和+1提到該文檔位於軟件包供應商內部。一直認爲它被硬編碼到網站中。 :) – CheckeredMichael

+0

@CheckeredMichael很高興它幫助你:) – Khay