我有一个患者列表portlet和portlet中的一个链接,以便"添加一个新患者"
问题:链接"添加新患者"应该只显示 具有特定角色的用户。
如果有任何可以共享的示例或链接或有关如何在liferay门户网站中实现此功能的任何想法,我真的很感激。
谢谢你, 斯
答案 0 :(得分:2)
从themedisplay获取用户的角色ID并与您的角色ID进行比较:
<%
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
long[] roleIds = td.getUser().getRoleIds();
boolean isRoleExist = false;
for(Long roleid:roleIds){
if(roleid == <your roleid here>){ // role id u can get it from liferay ROLE_ table inside db
isRoleExist = true;
}
}
%>
<% if (isRoleExist){ %>
<a href="#">add a new patient</a>
<%}%>
答案 1 :(得分:2)
您应该为添加患者条目创建portlet级权限(例如ADD_PATIENT_ENTRY)。 然后,您可以将此权限分配给某些角色。
您可以通过代码验证当前用户是否拥有权限
PortletPermission.contains(permissionChecker, PAGELAYOUTID, PORTLETID, "ADD_PATIENT_ENTRY")
请参阅link