2013-03-12 50 views
3

我正在考慮使用Liferay的權限系統在外部Java應用程序(而不是portlet)中實現訪問安全性。 Liferay具有用於管理用戶,組,角色,權限和資源的強大功能。如果我能夠利用這些功能,而不是在外部應用中重新發明輪子,那將是非常好的。如何在其他應用程序中使用Liferay的權限系統?

Liferay和我們的外部應用程序配置爲使用相同的CAS和LDAP進行身份驗證,因此它們共享相同的用戶。

到目前爲止,我已經成功地使用Liferay的JSON-WS API來管理用戶的角色。這很棒,但我需要把它帶到下一步。

我可以使用JSON-WS API定義和管理Liferay權限和資源嗎?

我看到用於檢查用戶是否具有某些權限(即has-user-permission)的API方法,但我沒有看到用於創建和分配權限和資源的方法。

無可否認,我需要更好地理解在Liferay中如何定義權限和操作。根據我的理解,權限和操作是在與特定portlet相關聯的XML文件中定義的。

在我們的例子中,外部應用程序不會有任何portlet,那麼我將如何定義自定義權限和操作?(也許創建一個只用於定義動作和資源的自定義portlet?)。我仍然需要一種以編程方式定義資源的方法,因爲需要爲我們的外部應用程序中的某些域對象創建資源。

回答

2

我知道這是舊的,但我想回答這個問題以備將來參考。

您在這裏有一個新穎的想法,但我不太明白,您如何計劃檢查用戶是否在您的應用程序中具有特定權限。您是否計劃在每個請求上查詢Liferay JSON-WS API以驗證您是否有權限?如果你在服務器端做到這一點,那麼你可能會得到一個性能損失,但否則這個想法似乎沒問題。但不要在客戶端進行(通過javascript在瀏覽器中) - 用戶可以操縱請求或響應來訪問敏感信息。

據我所知,您不能使用JSON-WS API來定義權限和資源,但它們存儲在數據庫中,您可以通過Service Builder創建自己的JSON-WS服務,爲應用程序公開這些功能。

就定義權限而言 - 既然您將不得不建立自己的服務來管理事情,那麼您可以使用正確的基於XML的配置來定義您的權限,並將其與服務一起部署。

我對你最終結束了什麼解決方案有點好奇,因爲我假設你已經完成了這個項目。

+0

Reigo,謝謝你的回答。不幸的是,我不得不轉移到另一個項目。我不確定這個項目的命運。 – Justin 2014-10-29 13:03:32

相關問題