2015-12-15 89 views
1

我想在頁面上顯示按鈕如果登錄用戶是管理員或管理員組的成員在JavaScript中。我如何檢查如果登錄的用戶是管理員或管理員組的成員在javascript

我能夠得到

CQ.User.getCurrentUser() 

,但不能檢查,如果用戶是管理員。請建議。

+3

不要在客戶端執行此操作 - 永遠。如果我看到你的頁面,並通過它的源代碼,我可以改變一下JS,運行它,然後我會有按鈕 - 這是你想要的嗎?你應該在後端進行檢查。 – CptBartender

+0

TS想要顯示基於用戶角色的按鈕,而不是在用戶角色上給予任何權限。它的絕對合法,沒有理由在服務器端渲染這個按鈕。在服務器端,我們必須檢查每個請求的權限。 –

回答

1

您可以在CRX存儲庫中創建一些節點並應用適當的權限(例如,管理員組可以讀取該節點,而其他節點則不具有該節點的任何權限)。

當您申請的權限,那麼你可以執行以下代碼:

if (CQ.User.getCurrentUser().hasPermissionOn("read", "path_to_your_node") === true) { 
    // add a button 
} 

該解決方案是正確的,因爲一般AEM的世界,我們不應該對羣體的用戶登錄或名稱接力,而不是這些我們應該中繼當前用戶擁有的權限。