定制冲浪平台根部作用域API(Customizing Surf Platform Root-Scop

2019-09-22 04:36发布

我想自定义冲浪平台根部作用域API专门的用户对象。 这意味着新的属性或方法添加到用户对象以检查用户是在某些组中header.inc.ftl [在共享]如`的<#if user.isAdmin>

  1. 我怎样才能实现呢?
  2. 是露天根范围内的对象可作为冲浪平台根部范围的对象?

我没有定制冲浪平台根部对象的想法。 谁能帮我???

Answer 1:

不太清楚你想什么来完成,但角色的安全模型是在春季冲浪/弹簧webscripts硬编码。 有客人,用户和管理员。 如果你想要的是另一个类似的角色,你必须破解弹簧冲浪libaries,即:

org/springframework/extensions/surf/mvc/PageView.java
org/springframework/extensions/webscripts/ScriptUser.java
org/springframework/extensions/webscripts/Description.java
org/springframework/extensions/webscripts/connector/User.java

这是我必须做的实施user.isEmployee 。 这种方法可以让你从字面上对待,就像其他人你的新角色。

您可以使用

<authentication>employee</authentication>

在页面描述符或

<item type="link" permission="employee" id="people">/people-finder</item>

在导航。

只是检查用户是否在某个webscript某一组是一个整体的不同势的故事,不提供相同的功能。

如果你想要的是后者,你应该对通话

/alfresco/service/api/groups/{shortName}

小姐和工作过的响应。

更新:该项目的权限属性需要更多一点的调整。 在header.get.js ,传播到它得到正确处理新角色header.inc.ftl

model.permissions =
{
    guest: user.isGuest,
    admin: user.isAdmin,
    employee : user.isEmployee
};


Answer 2:

你可以尝试(在JavaScript我设法类似)如下:

user = Application.getCurrentUser(context);
       String userName = user.getUserName();
       user.isAdmin() >>> result return true if user logining is admin

或JSP:

#{NavigationBean.currentUser.admin == true}

对不起,我现在注意到你说的是冲浪平台根部对象,但你放在那里的链接,已经废弃了的Alfresco版本3.3以上。 你还在用这么老的东西吗? 如果您管理使用JavaScript API的,你可以使用“人”根对象,布尔isAdmin()。



文章来源: Customizing Surf Platform Root-Scoped API