在登录页面上添加登录portlet

时间:2014-03-12 15:35:23

标签: login modal-dialog liferay portlet liferay-6

我正在使用现有的登录portlet构建基本登录页面。

我只想拥有一个功能,当用户访问网站时,现在localhost:8080,应该弹出登录portlet!

这可行吗?如果是这样,有人可以提示我如何做到这一点?


这就是默认页面现在的样子:

Default page

要登录,我必须明确点击"登录"蓝色按钮,然后它弹出portlet中的模态标志。

pop-up sign-in portlet

但我在这里要做的是:

  1. 每当用户点击默认网址时,它应立即要求用户登录,而不是显示带有登录按钮的空白页面(类似于输出图像)
  2. 甚至是模态登录框(无论什么都很容易定制。)
  3. 每当用户点击任何其他网址时,例如。 localhost:8080/web/project1/home如果用户未登录,则应强制他先登录。
  4. home page with sign-in portlet

2 个答案:

答案 0 :(得分:2)

开箱即用的两种可能性:

  • 除了主页上的登录portlet外,只显示该位置(通常是/ web / guest / home)
  • 保护您的默认页面对访客用户不可见(这将自动转发到登录portlet) - 请参阅"权限" "管理页面上的按钮"界面

还有更多,但这些似乎是第一个也是最明显的。如果其中一个适合您,或者您的请求的原因是什么,请告诉我

答案 1 :(得分:0)

根据我的理解,您希望将Login Portlet弹出为当前页面上的模态窗口/灯箱(即不离开页面)。 AFAIK,要实现这一点,您必须开发所有portlet以使用AJAX创建指向受保护资源的链接。因此,当您收到未经身份验证的请求时,您可以保持同一页面并显示登录对话框。

这是高级方法。你需要1)在你的主题中嵌入Login portlet,2)在主题中放入以下javascript功能:

  • 回调函数 - 处理未经身份验证的请求的响应,
  • 渲染模态/灯箱

执行此操作时可能会遇到意外。