露天 /share 重定向到一个长站点 url?
alfresco /share redirects to a long site url?
我在户外有一个奇怪的问题,当我访问我的 MY_HOSTNAME:8080/share
url 它会自动重定向到一个长的 url 附加 current: MY_HOSTNAME:8080/sharehttp://MY_IP:8080/share/page/site/documents/documentlibrary
这是不可访问的。如果我以其他用户身份登录,就可以了。如何调试这个问题?
下面是我的 tomcat/webapps/share/site-index.jsp
文件,我没有尝试更改它。
<%@ page import="org.alfresco.web.site.*" %>
<%@ page import="org.springframework.extensions.surf.*" %>
<%@ page import="org.springframework.extensions.surf.site.*" %>
<%@ page import="org.springframework.extensions.surf.util.*" %>
<%@ page import="java.util.*" %>
<%
// retrieve user name from the session
String userid = (String)session.getAttribute(SlingshotUserFactory.SESSION_ATTRIBUTE_KEY_USER_ID);
// test user dashboard page exists?
RequestContext context = (RequestContext)request.getAttribute(RequestContext.ATTR_REQUEST_CONTEXT);
if (!context.getObjectService().hasPage("user/" + userid + "/dashboard"))
{
// no user dashboard page found! create initial dashboard for this user...
Map<String, String> tokens = new HashMap<String, String>();
tokens.put("userid", userid);
FrameworkUtil.getServiceRegistry().getPresetsManager().constructPreset("user-dashboard", tokens);
}
// redirect to site or user dashboard as appropriate
String siteName = request.getParameter("site");
if (siteName == null || siteName.length() == 0)
{
// Get and forward to user's home page
SlingshotUserFactory slingshotUserFactory =
(SlingshotUserFactory) FrameworkUtil.getServiceRegistry().getUserFactory();
String userHomePage = slingshotUserFactory.getUserHomePage(context, userid);
response.sendRedirect(request.getContextPath() + userHomePage);
}
else
{
// forward to site specific dashboard page
response.sendRedirect(request.getContextPath() + "/page/site/" + URLEncoder.encode(siteName) + "/dashboard");
}
%>
我发现 alf_data/contentstore/DATE_TIME_DIRS/
中的一些文件包含 "org.alfresco.share.user.homePage"
,指向附加的长 url,这似乎是相关的。不知道这些是怎么产生的。
我通过清理 tomcat 缓存解决了这个问题:
$ rm -rf tomcat/work/Catalina/*
我在户外有一个奇怪的问题,当我访问我的 MY_HOSTNAME:8080/share
url 它会自动重定向到一个长的 url 附加 current: MY_HOSTNAME:8080/sharehttp://MY_IP:8080/share/page/site/documents/documentlibrary
这是不可访问的。如果我以其他用户身份登录,就可以了。如何调试这个问题?
下面是我的 tomcat/webapps/share/site-index.jsp
文件,我没有尝试更改它。
<%@ page import="org.alfresco.web.site.*" %>
<%@ page import="org.springframework.extensions.surf.*" %>
<%@ page import="org.springframework.extensions.surf.site.*" %>
<%@ page import="org.springframework.extensions.surf.util.*" %>
<%@ page import="java.util.*" %>
<%
// retrieve user name from the session
String userid = (String)session.getAttribute(SlingshotUserFactory.SESSION_ATTRIBUTE_KEY_USER_ID);
// test user dashboard page exists?
RequestContext context = (RequestContext)request.getAttribute(RequestContext.ATTR_REQUEST_CONTEXT);
if (!context.getObjectService().hasPage("user/" + userid + "/dashboard"))
{
// no user dashboard page found! create initial dashboard for this user...
Map<String, String> tokens = new HashMap<String, String>();
tokens.put("userid", userid);
FrameworkUtil.getServiceRegistry().getPresetsManager().constructPreset("user-dashboard", tokens);
}
// redirect to site or user dashboard as appropriate
String siteName = request.getParameter("site");
if (siteName == null || siteName.length() == 0)
{
// Get and forward to user's home page
SlingshotUserFactory slingshotUserFactory =
(SlingshotUserFactory) FrameworkUtil.getServiceRegistry().getUserFactory();
String userHomePage = slingshotUserFactory.getUserHomePage(context, userid);
response.sendRedirect(request.getContextPath() + userHomePage);
}
else
{
// forward to site specific dashboard page
response.sendRedirect(request.getContextPath() + "/page/site/" + URLEncoder.encode(siteName) + "/dashboard");
}
%>
我发现 alf_data/contentstore/DATE_TIME_DIRS/
中的一些文件包含 "org.alfresco.share.user.homePage"
,指向附加的长 url,这似乎是相关的。不知道这些是怎么产生的。
我通过清理 tomcat 缓存解决了这个问题:
$ rm -rf tomcat/work/Catalina/*