我想将Alfresco与我当前的登录系统(这是一个LDAP服务器)集成在一起。我可以成功集成LDAP身份验证,但是,我想使用外部登录页面并让Alfresco读取一个cookie来记录用户(该cookie将包含用户名和可用于验证其登录的密钥与LDAP服务器)。带Cookie的Alfresco SSO
我看着到与SDK附带的例子,但似乎并没有被登录的用户没有密码的方式。
我正在寻找外部认证子系统,并看到CAS指南,但这似乎是矫枉过正,我不知道我明白了一切正在发生或为什么所有这些都是我的情况所需要的。
在Exernal子系统闲逛之后,我看到它使用“SimpleAcceptOrRejectAllAuthenticationComponentImpl”,它覆盖了认证功能。在该函数中,它通过“setCurrentUser”函数来验证用户,但依赖于“accept”的值被设置为true。我仔细查看了Alfresco源代码,并查看了WEB-INF/classes/alfresco/subsystems/Authentication/external下的文件,但我无法找到setAccept函数如何调用。一些谷歌搜索后,我发现this example。
看起来他们设置一个过滤器,记录用户在通过SimpleAcceptOrRejectAllAuthenticationComponentImpl对象,他们明确要求setAccept(真)。我还没有尝试过,但他们的wiki说web.xml文件需要被编辑,Alfresco Dev在Alfresco v3.2(我正在使用v3.4.3)后不需要在另一篇文章中说过。这是正确的途径吗?
我听说另一个想法是编写我自己的Authenticator子系统,但我没有看到任何文档,也不知道如何调用外部子系统的“setAccept”函数,我觉得我我会在黑暗中拍摄。
有关如何基于由外部webapp创建的cookie登录用户的任何想法(它位于相同的域 - 我已经能够读取cookie,我只是不知道如何验证用户没有密码)?
嗨,我做老乡在这里提到的步骤,但是当我试图打开本地主机:8080 \份额则要求密码。我需要做其他改变吗?请建议。 – Sam
我有一个外部Web应用程序。用户通过外部Web应用程序中的LDAP服务器进行身份验证。 LDAP同步我已经使用了Alfresco并且工作正常。现在,在外部Web应用程序上成功进行身份验证,我想将用户重定向到Share应用程序(response.sendRedirect(http:// localhost:8080/share/page),但是登录页面即将到来,目前我硬编码为“admin “作为你在你的代码中提到的过滤器请帮助我如何实现这一目标 – Sam
这已经有一段时间,因为我写这篇文章我的过滤器显著上升 - 。但高于其核心是proprieterayUserIdValidationAndExtractionMethod方法改为采取HttpServletRequest和HttpServletResponse的对象。我读出了HttpServletRequest对象饼干,也存储在它的会话。为了确认验证,我在Cookie值,我们的身份验证服务提供一个REST调用过去了。这REST调用告诉过滤器,如果用户是有效的。所以,你会希望你的身份验证服务,可以设置cookies或将数据传递给共享,它可以用来验证用户的识别 – patorjk