0
我試圖圍繞我在Sentry中的權限和數組。當我對它們進行硬編碼時,我已經讓它們工作,這很容易,但是從表單中分配它們證明是非常令人沮喪的。這裏是處理它的函數:Laravel/Sentry從表格中分配組權限
public function postGroup(){
$name = Input::get('name');
$inputs = Input::except('name');
$permissions = array("self.view" => 1, "self.update" => 1);
foreach($inputs as $key => $value)
{
$raw_name = $key;
$name = str_replace('_', '.', $raw_name);
array_push($permissions, array($name => 1)); // The issue is here.
}
...
基本上,我們現在有一個數組$permissions
與[user.create] => 1, [user.view] => 1
等等等等從形式傳遞每個權限。接下來,使用Sentry::createGroup
我需要根據此數組設置權限。
//Create the group
$group = Sentry::createGroup(array(
'name' => $name,
'permissions' => $permissions //Doesn't work.
));
當我檢查我的數據庫,我看到:
{"self.view":1,"self.update":1,"0":1,"1":1}
應該是這樣的:
{"self.view":1,"self.update":1,"user.create":1,"user.view":1}
因此,我們可以看到那些self.*
做工精細,但因爲我打電話給array_push($permissions, array($name => 1));
我在製作$permissions
是一個多維數組(因此我們爲什麼在數據庫中看到"0":1
;它在看索引,但我不是100%確定如何解決這個問題...
因此,深入瞭解陣列處理和Sentry權限會很有幫助。在此期間我會繼續嘗試。
在此先感謝!