2016-05-11 18 views
0

にログインした後、デフォルトのページをリダイレクトします。は、私は、ユーザーが自分のログイン後にユーザーのサイトのページに取得したいのAlfresco(非管理!)

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

今私の問題は、私は管理者は、このページに着陸したくないということです:私は、私は、コードを変更する必要が好きで、サイトのindex.jspことを理解しました!だから私は次のようなものを試しました:

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

しかし成功しませんでした。誰もこれを行う方法を知っていますか?

あなたはサイトindex.jspの中で、ユーザーが管理者であるかどうかを識別するためのコードの下に使用することができます

答えて

0

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); 

あなたは一つのフィールドを取得するあなたが応答でチェックuser.Ifの詳細を取得することができます。あなたはそれを使用して評価することができ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"%> 
+0

うーん...まだ動作しません。 'もし{ \t response.sendRedirect(request.getContextPath()+ "/ページ/ユーザー/" +ユーザID +」(FrameworkUtil.getServiceRegistry()getAuthorityService()isAdminAuthority(ユーザーID)!。。):私はここに私のコードを変更しました/ユーザーサイト "); } '何が私が間違っていましたか?私は "userid.user"で試してみました。あなたはどうやってそれを知ったのですか?そのような問題の原因は何ですか? – mtzE

+0

更新された回答を確認してください。 –

関連する問題