代码之家  ›  专栏  ›  技术社区  ›  ajc

在登录页面上添加登录portlet

  •  2
  • ajc  · 技术社区  · 12 年前

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

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

    这可行吗?如果是,有人能告诉我怎么做吗?


    这是当前默认页面的外观:

    Default page

    要登录,我必须明确地单击“登录”蓝色按钮,然后弹出一个模态登录portlet。

    pop-up sign-in portlet

    但我想做的是:

    1. 每当用户单击默认url时,它应该立即要求用户登录,而不是显示带有登录按钮的空白页面(类似于输出图像)
    2. 或者甚至是一个模态登录框(任何易于定制的)
    3. 每当用户点击例如的任何其他url时。 localhost:8080/web/project1/home 如果用户未登录,则应强制他先登录。

    home page with sign-in portlet

    2 回复  |  直到 12 年前
        1
  •  2
  •   Olaf Kock    12 年前

    开箱即用的两种可能性:

    • 在主页上只放置登录portlet,出现在该位置(通常是/web/guest/home)
    • 保护您的默认页面,使其对来宾用户不可见(这将自动转发到登录portlet)-请参阅“管理页面”界面上的“权限”按钮

    还有更多,但这些似乎是第一个也是最明显的。让我知道其中一个是否适合你,或者你提出要求的原因是什么

        2
  •  0
  •   Rushikesh Thakkar    12 年前

    据我所知,您希望登录Portlet在 当前页面 (即不离开页面)。AFAIK,要实现这一点,您必须开发所有Portlet,以使用AJAX创建指向受保护资源的链接。因此,当您收到未经验证的请求时,您可以停留在同一页面上并显示登录对话框。

    这是一种高级方法。您需要1)将LoginPortlet嵌入主题中,2)将以下javascript功能放入主题中:

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

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