2016-09-12 2 views
1

나는 Adminer에 1 개, 사용자에 1 개씩 2 개의 사이트가있는 평생 프로젝트를 개발 중입니다. 관리자와 사용자는 사용자 그룹에 따라 차별화됩니다. 관리자가 로그인 할 때 관리자 페이지로 리디렉션되어야하며 사용자가 로그인하면 사용자 페이지로 리디렉션되어야합니다. Blade 또는 Hook 플러그인을 사용하여 Liferay 7에서이 기능을 어떻게 수행 할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다. 감사!!!블레이드를 사용하여 Liferay 7의 사용자 정의 포스트 로그인 액션 후크

답변

2

당신은 여기에 플러그인 예를 찾을 수 있습니다 : 당신이 후 로그인 후크를 원하는 경우

기본적으로

https://www.e-systems.tech/blog/-/blogs/liferay-7-how-to-get-a-session-object-after-login-

,이 예제는 충분합니다.

는하는 Liferay 서비스를 사용하려면 새로운 스타일로, 당신은

final long companyId = portal.getCompanyId(request); 
final HttpSession session = request.getSession(); 

이 줄은 유용합니다 포털에 대한 사용자 정보와 더 많은 데이터를 얻기 위해 지금 어떤 참조

private Portal portal; 
private UserLocalService userLocalService; 

@Reference 
private void setUserLocalService(UserLocalService service){ 
    this.userLocalService=service; 
} 

@Reference 
private void setPortalUtil(Portal portal){ 
    this.portal=portal; 
} 

가 필요합니다 받는 사람 :

User user = (User)session.getAttribute(WebKeys.USER); 

리디렉션의 경우 : URL에 redirect 매개 변수를 사용합니다. 이 코드가 도움이 될

나 ..이를 위해

Map params = new HashMap(); 

params.put("p_l_id", new String[] {"PRI.1.1"}); 

LastPath lastPath = new LastPath("/c", "/portal/layout", params); 

ses.setAttribute(WebKeys.LAST_PATH, lastPath); 

작동하려면, 당신은 또한 auth.forward.by.last.path 속성

+0

를 확인할 수 있습니다하지만 어떻게 우리는 사용자 정보를받을 수 있나요 사용자 그룹 또는 사용자 그룹을 리디렉션하는 방법에 대해 설명합니다. 죄송합니다. liferay-7에 새로 워서 코드에 대한 도움이 필요하십니까 ?? – Chika

+0

걱정할 필요가 없습니다. .. – Victor

+0

문제를 해결할 수 있는지 알려주세요. 궁금합니다. – Victor

관련 문제