2

我试图弄清楚如何实现一种机制来动态决定用户的登录页面是什么。

我知道默认登陆页面比较容易定制,你可以在下面的链接中看到:

http://blogs.alfresco.com/wp/ddraper/2011/11/01/advanced-share-customization-part-1/

http://zscribble.wordpress.com/2012/02/13/how-to-change-user-landing-page-in-alfresco-share/

但这还不够,因为我需要更进一步;在任何用户成功认证后,我需要检索用户所属的站点,然后重定向到任何站点的仪表板。

我猜有任何身份验证服务会重定向到TOMCAT/webapps/share/site-index.jsp,并从这里重定向到用户仪表板或站点仪表板,具体取决于接收到的参数。如果我的假设是正确的,我知道我应该自定义这种假定的身份验证服务,以便获取用户的站点,然后重定向到适当的站点仪表板的 URL。

我走对了吗?如果没有,关于如何进行的任何想法?

谢谢。

4

1 回答 1

1

有两种可能的方法可以实现在 Alfresco Share 中成功验证后动态重定向到页面的机制。

最简单的方法包括以下步骤:

  1. <root-page>通过更新文件中标记的值来更改默认登录页面alfresco\site-data\configurations\slingshot.site.configuration.xml(默认值为site-index)。
  2. 根据之前定义的值创建自定义 Surf 页面。
  3. 创建自定义模板实例
  4. 创建一个自定义 FreeMarker 模板,专门包含一个加载 webscript 的区域(将在下一步中创建)。
  5. 实现一个网页脚本来决定重定向到的 URL(在我的情况下,我必须通过 RESTful API 检索用户的站点,然后重定向到站点的仪表板)
  6. accept-invite component执行与正在执行的重定向类似的重定向

另一种可能的方法是覆盖类PageViewPageViewResolver,这样您就可以在一个步骤而不是两个步骤中执行到登录页面的重定向,因此效率更高。我没有开发此解决方案,因此无法提供更多详细信息,但根据 Alfresco 工程师的说法,这是可行的。

如果您想了解更多相关信息,请阅读此线程

于 2012-11-21T09:29:06.847 回答