2016-03-15 87 views
1

是否可以編寫一個自己的servlet來登錄CQ系統,並將自己的消息作爲JSON響應返回。CQ用自己的信息登錄

我的意思是和J_Security_Check一樣,但是我擁有對消息的控制。登錄應該檢查憑證併爲會話創建令牌。

我在互聯網上找不到任何有用的解決方案。

有人知道我該怎麼做嗎?

AEM有沒有什麼課程可以幫助解決這種情況?

我使用AEM 6.1。

回答

0

您將需要複製該組件/apps下覆蓋AEM的登錄組件出現在/libs/granite/core/content/login保持相同的文件夾結構(不同的文件夾中鍵入heriarchy)。此組件的資源位於/libs/granite/core/components/login,其中包含AEM登錄表單的JSP腳本。將所有相關腳本移至/apps後,您可以修改login.jsp中的登錄表單操作以指向您的servlet路徑。

使用Jquery從/libs/granite/core/content/login/clientlib/login.js提交對服務器的調用,您可以在適當的成功/錯誤塊中處理來自servlet的響應。

除此之外,還有一個OSGI設置,AEM用於呈現登錄頁面。在Felix控制檯中查找Day CQ Login Selector Authentication Handler設置,並在/apps下將Default Login Page更改爲您的組件。

+0

這將是太多了。我不想更改默認的登錄頁面。我需要在我的應用程序中使用我的登錄表單,並且在那裏,另一個來自cq的登錄名也是需要的。 –

1
+0

我已經看過這篇文章。但是這隻顯示瞭如何使用其他身份驗證(如LDAP或其他)登錄,但我必須從我的應用程序以CQ系統中的用戶身份登錄,用戶沒有mutch權限,但在我的應用程序中,他們可以添加註釋,並進行投票等... –

+0

您可以使用自定義身份驗證處理程序來處理普通Sling/AEM用戶的正常身份驗證。我可能會有一段代碼示例,我爲Sling應用程序做了一段時間。如果我能找到它,我會在這裏發佈它。 – nateyolles

+0

感謝代碼sampe會很棒,所以我可以理解它是如何工作的。 –