我想自定義Surf Platform Root-Scoped API具體爲用戶對象。這意味着新的屬性或方法在header.inc.ftl
[中分享]像添加到用戶對象來檢查用戶在某一組`<#如果user.isAdmin>自定義Surf平臺根範圍API
- 我如何能實現呢?
- 是Alfresco Root Scoped Objects是否可以用作Surf Platform Root-Scoped對象?
我不知道定製surf平臺根對象。誰能幫我???
我想自定義Surf Platform Root-Scoped API具體爲用戶對象。這意味着新的屬性或方法在header.inc.ftl
[中分享]像添加到用戶對象來檢查用戶在某一組`<#如果user.isAdmin>自定義Surf平臺根範圍API
我不知道定製surf平臺根對象。誰能幫我???
不太清楚你想要完成什麼,但角色安全模型是在spring-surf/spring 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
};
感謝您的建議。現在我可以通過在ScriptUser.java和User.java中添加一個新方法,在我的ftl文件中調用user.isPartialAdmin,如$ {user.isPartialAdmin?string}。我也修改PageView.java和Description.java。但我不能在頁面描述符中寫入權限=「partialAdmin」。我錯了什麼?你可以幫我嗎? – swemon
我不認爲頁面描述符支持許可權屬性。對於頁面描述符(即site-data/pages/repository.xml),使用如圖所示的驗證元素。顯示permission屬性的item元素來自share-config-custom.xml。 –
對不起,我的錯誤。我的意思是
你可以嘗試(在JavaScript我設法類似)這樣的:
user = Application.getCurrentUser(context);
String userName = user.getUserName();
user.isAdmin() >>> result return true if user logining is admin
或JSP:
#{NavigationBean.currentUser.admin == true}
對不起,現在我注意到你說的是衝浪平臺根部的對象,但你放在那裏的鏈接,在3.3以上的Alfresco版本中被棄用。你還在用這麼古老的東西? 如果您設法使用JavaScript API,則可以使用「person」根對象,並使用boolean isAdmin()。
感謝您的建議。但我想獲得ftl文件。 – swemon
這個問題涉及Spring Surf,而不是JSF客戶端。此外,您引用的'JavaScript API'是存儲JS API,它不是Spring Surf內部直接可用的。從Surf中,您必須通過其遠程API訪問存儲庫。 –
爲什麼你需要一個新的屬性添加到用戶對象?您是否可以不直接從要修改的組件調用存儲庫來執行is-admin檢查? –