Liferay Theme - Velocity - 检查用户是否有自定义角色
Liferay Theme - Velocity - Check if user has custom role
我一直在 SO 上寻找解决方案,但目前还没有成功。我发现了一些类似的问题,但没有解决方案。
我正在尝试在登录时添加某种角色检查,以查看用户是否具有我定义的自定义角色。如果是这样。他们得到了停靠栏。
目前正在检查他们是否是整个网站的管理员。这是我不想给别人的东西。他们需要像高级用户一样拥有一组特定的权限。
目前的检查是这样的:
#if ($is_signed_in && $permissionChecker.isOmniadmin())
我看到过检查特定角色 ID 的示例,这些示例看起来可以正常工作。
此处示例:
#set($UserLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.UserLocalService"))
#if ($UserLocalServiceUtil.hasRoleUser(roleID, $user.getUserId()))
这种方法的唯一问题是我不确定我的自定义角色 ID 是什么以及我如何获得它。
所以
有谁知道如何获得我的自定义角色 ID?
或
是否有某种 .getRoleName
选择器被我忽略了?
也许这个方法可以帮助您完成代码。
是否可以按名称设置角色(名称可以通过主题设置存储和配置)
#set($RoleLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
#set ($role = $RoleLocalServiceUtil.fetchRole(roleName, $themeDisplay.companyId))
这可以在一个方法调用中实现
#set ($roleLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
#if ($roleLocalServiceUtil.hasUserRole($user.getUserId(),$user.getCompanyId(), "<YOUR ROLE NAME>", true))
谢谢。
我一直在 SO 上寻找解决方案,但目前还没有成功。我发现了一些类似的问题,但没有解决方案。
我正在尝试在登录时添加某种角色检查,以查看用户是否具有我定义的自定义角色。如果是这样。他们得到了停靠栏。
目前正在检查他们是否是整个网站的管理员。这是我不想给别人的东西。他们需要像高级用户一样拥有一组特定的权限。
目前的检查是这样的:
#if ($is_signed_in && $permissionChecker.isOmniadmin())
我看到过检查特定角色 ID 的示例,这些示例看起来可以正常工作。
此处示例:
#set($UserLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.UserLocalService"))
#if ($UserLocalServiceUtil.hasRoleUser(roleID, $user.getUserId()))
这种方法的唯一问题是我不确定我的自定义角色 ID 是什么以及我如何获得它。
所以
有谁知道如何获得我的自定义角色 ID?
或
是否有某种 .getRoleName
选择器被我忽略了?
也许这个方法可以帮助您完成代码。
是否可以按名称设置角色(名称可以通过主题设置存储和配置)
#set($RoleLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
#set ($role = $RoleLocalServiceUtil.fetchRole(roleName, $themeDisplay.companyId))
这可以在一个方法调用中实现
#set ($roleLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
#if ($roleLocalServiceUtil.hasUserRole($user.getUserId(),$user.getCompanyId(), "<YOUR ROLE NAME>", true))
谢谢。