我写了一个带有 extbase 的后端模块,typo3 4.5
我想为不同的用户组展示不同的 extbase 模型,但我不知道怎么做。我的想法是为每个用户组注册一个后端模块,但我认为它太费力了。我不想在我的扩展程序中检查用户组及其权限。有没有办法得到这个?
例子:
models | usergroup: editor could see
specific models | usergroup: specific_editor could see
Please explain the scenario in details. From this i can say this is possible . All you do see to check the user group and according to this you can create a switchable actions in your controller .
扩展管理器中的几个复选框 - 扩展配置选项卡用于选择用户组及其在扩展中的权限怎么样?
我尝试在我自己的后端模块中向不同的用户显示不同的 extbase-model-entries。例如,用户 'editor' 只能看到 'entry1' 和 'special_editor' 看到 'entry2' 和 'entry3'。我的想法是扩展用户组 tca 并为我的模型添加一个选择字段。我的后端模块将检查当前后端用户以获取他的用户组,而不是我想检查分配的模型。这似乎很费力,但我认为这是最好的也是唯一的方法。
我得到一个解决方案:
首先,我向 be_users 添加了一个字段。
$tempColumns = array(
'model' => array(
'exclude' => 0,
'l10n_mode' => 'mergeIfNotBlank',
'label' => 'LLL:EXT:extensionResources/Private/Language/locallang_db.xml:tx_extension_domain_model_ownmodel',
'config' => array(
'type' => 'select',
'foreign_table' => 'tx_extension_domain_model_ownmodel',
'size' => 10,
'width' => 20,
'minitems' => 0,
'maxitems' => 9999,
'allowNonIdValues' => 0,
'eval' => 'required',
),
),
);
t3lib_div::loadTCA('be_users');
t3lib_extMgm::addTCAcolumns('be_users',$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes('be_users','model;;;;1-1-1');
在我的后端模块中,我检查当前的后端用户
$GLOBALS['BE_USER']->user['model']
所以我得到了一个用逗号分隔的模型ID列表。
而已。