2013-03-12 82 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

相关问题