登录Alfresco后重定向默认页面(非管理员!)

时间:2016-05-11 14:35:00

标签: login alfresco

我希望用户在登录后进入用户站点页面。我知道我必须更改site-index.jsp中的代码,如:

FROM: response.sendRedirect(request.getContextPath() + userHomePage);
TO: response.sendRedirect(request.getContextPath() + "/page/user/" + userid + "/user-sites");

我现在的问题是我不希望管理员登陆此页面!所以我尝试了类似的东西:

if (!user.isAdmin){
response.sendRedirect(request.getContextPath() + "/page/user/" + userid + "/user-sites");
  }
  else{
response.sendRedirect(request.getContextPath() + userHomePage);
  }

但没有成功。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

您可以在site-index.jsp中使用以下代码来识别用户是否为admin。

FrameworkUtil.getServiceRegistry().getAuthorityService().isAdminAuthority("userName")

=============================================== ============================

下面似乎是一种糟糕的方式,但我认为不会有其他选择。

Connector conn = FrameworkUtil.getConnector(context,"alfresco");
ConnectorContext c = new ConnectorContext(HttpMethod.GET);
c.setContentType("application/json");
Response res = conn.call("/api/people/"+userid);
System.out.print(res);

使用上面的代码,您可以获得用户的详细信息。如果您在回复中检查,您将在功能中获得一个名为 isAdmin 的字段。您可以使用该字段进行评估。

您还必须在页面下方导入。

<%@ page import="org.springframework.extensions.webscripts.connector.Connector"%>
<%@ page import="org.springframework.extensions.webscripts.connector.ConnectorContext"%>
<%@ page import="org.springframework.extensions.webscripts.connector.HttpMethod"%>
<%@ page import="org.springframework.extensions.webscripts.connector.Response"%>