gpt4 book ai didi

java - 在 Java Portlet 中获取用户角色

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:29 25 4
gpt4 key购买 nike

我正在使用 liferay 服务器使用 portlet 构建门户应用程序。

我想在网站上显示一些用户特定的数据。

如何在 liferay portlet 中获取登录用户的角色?

我的示例 java 代码 -

@Override
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
String data = "";
if(userRole = "Admin") { //How to get this user role?
data = "Admin user logged in";
} else if(userRole = "Guest"){
data = "Guest user logged in";
}
request.setAttribute("data", data);
}

和JSP代码——

<script>
function WhoLoggedIn() {
document.getElementById("gameForm").submit();
}
</script>
<div onClick="WhoLoggedIn()">Click HERE</div>
<div>${data}</data>

谢谢。

最佳答案

在您的 portlet 代码中,您可以使用 portlet 规范中定义的以下方法:

portletRequest.isUserInRole("roleName");

注意:Liferay 不在任何默认提供的 portlet 中使用 isUserInRole() 方法。相反,它直接使用 Liferay 的权限系统,以实现更精细的安全性。

更多信息请引用以下链接

https://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/security-and-permissio-4

您可以使用 PermissionChecker 中的一些方法。

ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

permissionChecker.isCompanyAdmin() // Returns true if the user is an administrator of their company.
permissionChecker.isOmniadmin() // Returns true if the user is a universal administrator.
permissionChecker.isGroupAdmin(long groupId) // Returns true if the user is an administrator of the group.

有关 PermissionChecker 的更多信息,请参阅以下链接 http://docs.liferay.com/portal/6.1/javadocs/com/liferay/portal/security/permission/PermissionChecker.html

您还可以探索 Liferay 的 RoleLocalServiceUtil

http://docs.liferay.com/portal/6.1/javadocs/com/liferay/portal/service/RoleLocalServiceUtil.html

关于java - 在 Java Portlet 中获取用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com