Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 木兰CMS 5.5.5从角色中选择_Security_Content Management System_Jcr_Magnolia - Fatal编程技术网

Security 木兰CMS 5.5.5从角色中选择

Security 木兰CMS 5.5.5从角色中选择,security,content-management-system,jcr,magnolia,Security,Content Management System,Jcr,Magnolia,我正在寻找在页面属性对话框中选择某些角色的可能性。页面的某些部分应该只能由某些角色查看 我得到的是 - name: allowedRoles class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition label: Select Roles field: name: roleLinkField class: info.magnolia.ui.form.field.definition.

我正在寻找在页面属性对话框中选择某些角色的可能性。页面的某些部分应该只能由某些角色查看

我得到的是

- name: allowedRoles
  class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
  label: Select Roles
  field:
    name: roleLinkField
    class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
    targetWorkspace: userroles
    appName: security
    identifierToPathConverter:
      class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter

这使我只能选择用户而不是用户角色。。我需要做什么才能从名为“角色”的“安全性”子应用中进行选择

好的,这花了一段时间才弄清楚,但最终证明相对简单:

  • 在应用程序中定义
    chooseDialog
    ,从中明确选择不同的子应用程序(在
    security应用程序中)
  • 选择对话框中,定义工作台字段,该字段指向感兴趣的子应用程序中的工作台(案例中的角色)。必须在此处明确指定字段的类定义
  • 另外,在
    chooseDialog
    中,定义指向感兴趣的连接器的
    contentConnector
    (在您案例中的角色子应用中)
  • 在要添加链接字段的对话框中,在链接字段的定义中,将
    appName
    设置为应用程序(
    security
    ,在您的情况下),并将
    targetWorkspace
    设置为您在上述步骤中链接的连接器的工作区(
    userroles
到时候一切都会好起来的。限制是,每个应用程序只能有一个这样的“选择”对话框定义,所以您必须选择要链接项目的子应用程序

所需配置的示例:

HTH,

嗯。我希望这一切都能正常进行。现在无法检查代码。作为解决方法,您可以创建自定义应用程序(只需真正复制安全应用程序),并将角色子应用程序作为第一个工作台/子应用程序移动到那里,并引用该工作台/子应用程序。这是个主意,但我不想走那条路。。如果你看到另一种可能性,请告诉我。