我想自定義站點管理員角色權限,即我需要啓用一項功能,以在相應的站點下爲站點管理創建用戶。我怎樣才能做到這一點?我需要用Hook來實現嗎?還是需要創建EXT?或者任何其他更簡單的方法來實現呢? 我需要啓用用戶創建併爲各站點下的站點管理員分配權限。我不想通過超級管理員來創建用戶。爲Life ray中的站點管理員角色定製權限?
回答
也許您可以創建一個自定義portlet,將其放置在控制面板中,其中只有填寫表單的網站管理員可以創建您直接作爲當前網站成員分配的用戶。
PRO: 我認爲你可以完成你的任務。
CON:
- 你必須花時間去開發,這不是一個「點擊幾下的解決方案」。
- 這不是權限自定義。
參考文獻: "Beginning Liferay Development" 這是一個有用的指南,解釋,全部採用Liferay的最佳實踐,如何開發一個完整的門戶,有「著名的」 KnowledgeBasePortlet。我建議你閱讀這一切,但你的問題的要點是:
- 設置權限,只允許對站點管理員創建用戶
- 添加Portlet的控制面板
注意: 正如您將看到的(創建實體操作),KnowledgeBasePortlet創建兩個自定義實體,您不需要這樣做:您需要的實體已經XIST。使用that chapter只是爲了瞭解如何調用方法來添加/編輯/刪除實體,您必須通過UserLocalServiceUtil執行相同的操作,但通過User實體執行。
我不確定我是否瞭解您需要什麼(對不起,我嘗試用hypotesize)。
如果您已經有不同的網站,並且您需要以編程方式創建所有網站管理員用戶(一次性),則需要創建一個portlet(並將其部署爲控制面板portlet)。 您的portlet應該只是一個接口來調用一個方法......你的方法只需要
- 得到你所需要的所有站點(其中管理員用戶尚不存在)
- 創建一個用戶(使用UserLocalServiceUtil)
- 分配給用戶的角色需要通過RoleLocalServiceUtil和UserGroupRoleLocalServiceUtil 代碼的一個很好的例子可以在這裏找到:Liferay Forum: How to Programmatically Add Liferay Users in Java
如果你喜歡你的portlet CA n將此方法暴露給Liferay,而不是使用UI,但使用Liferay cron作業。 你只需要在你的liferay-portlet中添加一個聲明。xml指向您的代碼:watch this simple guide
不同的是,如果您希望每次通過接口創建站點時都自動添加用戶,則可以使用鉤子並覆蓋數據庫上的實體創建事件。 網站位於組表中,因此您可以將servlet.service.events.post
事件處理程序添加到服務事件中。 在那裏你可以打電話給你的代碼:read this useful post
我希望它對你有用。
我需要在我的portlet中添加什麼接口以及如何調用方法。請幫我從兩天試試這個,但沒用。請 – Vinod 2015-03-27 13:40:27
我不想以編程方式創建用戶。我需要從UI創建。我已經創建了一個portlet並部署在控制面板中。該portlet具有基本的用戶詳細信息和保存按鈕。點擊保存按鈕時,用戶詳細信息應該保存在現有的用戶表中。我在論壇中添加了一個問題,https://www.liferay.com/community/forums//message_boards/message/51162704。請幫助我 – Vinod 2015-03-27 13:43:06
正如我在回覆中撰寫(和鏈接)一樣,並且已經在論壇中建議您應該使用:UserLocalServiceUtil.addUser() – 2015-03-28 10:46:57
- 1. 角色和權限的會員網站
- 2. 管理員文件夾權限,僅限角色= admin
- 3. 授予與管理員選項角色的權限Vs授予與管理員選項的用戶角色?
- 4. 流星:限制管理員僅路由到管理角色
- 5. 用戶在角色「管理員」,但[授權(角色=「管理員」)]將不驗證
- 6. 管理員權限
- 7. 限制Django管理員更改權限
- 8. 春季MVC角色和權限管理
- 9. Ploneboard經理角色非站點管理員用戶
- 10. 限制物品到管理員角色和用戶角色會員供應商
- 11. 索納塔管理員捆綁授予權限的自定義管理員角色
- 12. 管理角色並將權限分配給角色 - Symfony
- 13. Vb2012管理員權限
- 14. 管理員權限在php
- 15. 沒有管理員權限
- 16. 管理員權限錯誤
- 17. 保持管理員權限
- 18. C++降管理員權限
- 19. TFS/MSTest管理員權限
- 20. 管理員權限與笨
- 21. 顯示節點,如果其行爲被標記爲[授權(角色=「管理員」)
- 22. Gerrit管理員角色
- 23. 設置管理員角色
- 24. 管理和限制角色不使用成員資格
- 25. 爲什麼需要管理員權限?
- 26. 爲drupal中的角色分配特定的菜單管理權
- 27. 授權(角色=「管理員」)導致MVC5 Identity 2中的無限循環
- 28. 會員的意外權限和角色
- 29. 如何限制SQL Server 2008中的內置管理員權限?
- 30. 爲Tomcat設置管理員角色7
是的,我需要參考1)從哪裏開始? 2)我可以通過掛鉤來實現嗎?我需要創建新的portlet嗎? – Vinod 2015-03-09 14:16:37
我編輯了答案,但是您並沒有創建鉤子,只是一個簡單的portlet。 – 2015-03-09 14:55:00
正如您所建議的,我已經創建了一個portlet並將其添加到「site_administration.users」下的控制面板中。現在,如何將創建和編輯用戶屏幕導入到portlet或者是否需要創建添加和編輯用戶屏幕?任何建議請 – Vinod 2015-03-26 14:06:49