1
모든 포털 사용자에 대해 기본적으로 "Liferay 공용 페이지 병합"옵션을 활성화하는 방법을 알고 싶습니다.기본적으로 모든 사용자에게 "Liferay 공개 페이지 병합"옵션 사용
이 옵션은 여기에서 설정할 수 있습니다 (스크린 샷을보세요) : 제어판> 개인 사이트> 사이트 페이지> 공개 페이지> 고급.
후크를 통해 설정할 수있는 방법이 있으면 관심이 있습니다.
모든 포털 사용자에 대해 기본적으로 "Liferay 공용 페이지 병합"옵션을 활성화하는 방법을 알고 싶습니다.기본적으로 모든 사용자에게 "Liferay 공개 페이지 병합"옵션 사용
이 옵션은 여기에서 설정할 수 있습니다 (스크린 샷을보세요) : 제어판> 개인 사이트> 사이트 페이지> 공개 페이지> 고급.
후크를 통해 설정할 수있는 방법이 있으면 관심이 있습니다.
해결책을 찾았습니다.
내 AutoLogin 후크에 약간의 코드를 추가했습니다 (portail.properties 파일에서 설정할 수있는 Liferay auto.login.hook 속성 참조). 는 "com.liferay.portal.security.auth.PrincipalException가 : PermissionChecker initi하지 alized"경우
GroupServiceUtil.updateGroup(user.getGroupId(), "mergeGuestPublicPages=true");
: 오류가
그것은 GroupServiceUtil 클래스와 "대중 페이지를 병합"옵션을 설정 쉽게 높인. 처음에는 권한 검사기를 초기화해야합니다. 방법은 다음과 같습니다.
Company company = PortalUtil.getCompany(request);
Role adminRole = RoleLocalServiceUtil.getRole(company.getCompanyId(),"Administrator");
List<User> adminUsers = UserLocalServiceUtil.getRoleUsers(adminRole.getRoleId());
PrincipalThreadLocal.setName(adminUsers.get(0).getUserId());
try {
PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(adminUsers.get(0));
PermissionThreadLocal.setPermissionChecker(permissionChecker);
} catch (Exception e) {
e.printStackTrace();
}