启用选项";“合并Liferay公共页面”;默认情况下,适用于所有用户

启用选项";“合并Liferay公共页面”;默认情况下,适用于所有用户,liferay,portal,Liferay,Portal,我想知道是否有办法在默认情况下为所有门户用户激活“Merge Liferay public pages”选项 可在此处设置此选项(查看屏幕截图): 控制面板>个人网站>网站页面>公共页面>高级 我搜索了门户属性选项,但没有找到任何内容 如果有一种方法可以通过钩子设置它,我也很感兴趣。我找到了一个解决方案 我在AutoLogin钩子中添加了一些代码(请参阅可以在文件中设置的Liferay auto.login.hook属性) 使用GroupServiceUtil类设置“合并公共页面”选项很容易:

我想知道是否有办法在默认情况下为所有门户用户激活“Merge Liferay public pages”选项

可在此处设置此选项(查看屏幕截图): 控制面板>个人网站>网站页面>公共页面>高级

我搜索了门户属性选项,但没有找到任何内容

如果有一种方法可以通过钩子设置它,我也很感兴趣。

我找到了一个解决方案

我在AutoLogin钩子中添加了一些代码(请参阅可以在文件中设置的Liferay auto.login.hook属性)

使用GroupServiceUtil类设置“合并公共页面”选项很容易:

GroupServiceUtil.updateGroup(user.getGroupId(), "mergeGuestPublicPages=true");
如果是“com.liferay.portal.security.auth.PrincipalException:PermissionChecker非initi 出现了一个“错误”。必须首先初始化权限检查器。以下是一种方法:

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();
}
Company-Company=PortalUtil.getCompany(请求);
Role adminRole=RoleLocalServiceUtil.getRole(company.getCompanyId(),“管理员”);
List adminUsers=UserLocalServiceUtil.getRoleUsers(adminRole.getRoleId());
PrincipalThreadLocal.setName(adminUsers.get(0.getUserId());
试一试{
PermissionChecker PermissionChecker=PermissionCheckerFactoryUtil.create(adminUsers.get(0));
PermissionThreadLocal.setPermissionChecker(permissionChecker);
}捕获(例外e){
e、 printStackTrace();
}
我找到了一个解决方案

我在AutoLogin钩子中添加了一些代码(请参阅可以在文件中设置的Liferay auto.login.hook属性)

使用GroupServiceUtil类设置“合并公共页面”选项很容易:

GroupServiceUtil.updateGroup(user.getGroupId(), "mergeGuestPublicPages=true");
如果是“com.liferay.portal.security.auth.PrincipalException:PermissionChecker非initi 出现了一个“错误”。必须首先初始化权限检查器。以下是一种方法:

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();
}
Company-Company=PortalUtil.getCompany(请求);
Role adminRole=RoleLocalServiceUtil.getRole(company.getCompanyId(),“管理员”);
List adminUsers=UserLocalServiceUtil.getRoleUsers(adminRole.getRoleId());
PrincipalThreadLocal.setName(adminUsers.get(0.getUserId());
试一试{
PermissionChecker PermissionChecker=PermissionCheckerFactoryUtil.create(adminUsers.get(0));
PermissionThreadLocal.setPermissionChecker(permissionChecker);
}捕获(例外e){
e、 printStackTrace();
}