Spring mvc 使用spring security保护liferay Portlet

Spring mvc 使用spring security保护liferay Portlet,spring-mvc,spring-security,liferay,portlet,Spring Mvc,Spring Security,Liferay,Portlet,我目前正在使用liferay Portlet。Spring安全性用于呈现层(在jsp页面中)。但是,这并不安全,因为我的调度控制器和服务没有任何安全/授权检查 在我的应用程序中,SpringMVC控制器接收请求,并传递到服务层。服务层构建结果并将其传递给JSP页面。在jsp页面中,我们使用SpringSecurity标记库进行安全授权 我想知道以下几点: 关于实现portlet授权的最佳实践 在调度层或服务层实现安全性的更好选择是什么 如何实现调度层或服务层的安全性 请考虑我在用例库上的应用有安

我目前正在使用liferay Portlet。Spring安全性用于呈现层(在jsp页面中)。但是,这并不安全,因为我的调度控制器和服务没有任何安全/授权检查

在我的应用程序中,SpringMVC控制器接收请求,并传递到服务层。服务层构建结果并将其传递给JSP页面。在jsp页面中,我们使用SpringSecurity标记库进行安全授权

我想知道以下几点:

  • 关于实现portlet授权的最佳实践
  • 在调度层或服务层实现安全性的更好选择是什么
  • 如何实现调度层或服务层的安全性
  • 请考虑我在用例库上的应用有安全性。


    谢谢大家!

    我最喜欢的答案与此相符:“视情况而定”

    这取决于:

    Liferay默认为没有任何权限检查的*LocalService,例如,如果您可以访问API,则可以执行任何您想要的操作。然而,远程服务应该在将服务的实际执行委托给本地服务之前检查权限

    如果您想使用Liferay的permissionChecker(它随时可用且运行时可配置),则应在非本地服务方法中执行此操作。我倾向于推荐这一点,因为您将能够进入-而且您已经拥有Liferay管理的用户身份、角色、成员资格等。创建一个自定义角色,授予自定义权限,您就可以在运行时配置所有内容

    第二,虽然您确实希望检查后端服务中的权限,但您可能希望在UI层上再次执行此操作:如果不允许用户操作某个对象,您不希望显示提示他们可以更改的按钮,只会得到“权限被拒绝”的答复


    话虽如此,我从未将spring security(特别是taglibs)与Liferay的许可系统绑定。

    谢谢你,奥拉夫。从您的回复中我了解到,您正在谈论liferay服务。如果我错了,请纠正我。我感兴趣的是在我的本地应用程序服务中使用SpringSecurityAnnotatin获得一些反馈。SpringPortlet安全性已在中。你知道我们如何在调度层使用它吗?“这取决于”。。。你想让他们进入Liferay的权限系统吗?或者,它们应该与那个完全分开。如果你想让他们获得Liferay的许可,我不能提供指针(如我所说)。如果您希望它们与Liferay的权限系统完全分离,您可以像往常一样使用它们。不过,这也可能是你的问题,我刚刚在Liferay的许可下打开了另一个可能性。谢谢你,奥拉夫。实际上,我想让它们连接到Liferay的权限中。@sajjad这是很久以前的事了,但我是Liferay的新手(7)。你找到解决这个问题的办法了吗?我的意思是将Spring安全性与Liferay权限挂钩?