Liferay添加自定义权限

时间:2014-08-13 18:12:34

标签: permissions liferay portlet portal

我有一个患者列表portlet和portlet中的一个链接,以便"添加一个新患者"

  

问题:链接"添加新患者"应该只显示   具有特定角色的用户。

如果有任何可以共享的示例或链接或有关如何在liferay门户网站中实现此功能的任何想法,我真的很感激。

谢谢你, 斯

2 个答案:

答案 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