转自:http://blog.youkuaiyun.com/hantiannan/article/details/6741917
JSR-286 (and JSR-168) 怎样定义权限的呢?
JSR-286 (and JSR-168) 规约中要求在portlet.xml里面定义。比如以blog为例。
<portlet>
<portlet-name>33</portlet-name>
<display-name>Blogs</display-name>
<portlet-class>com.liferay.portlet.StrutsPortlet</portletclass>
<init-param>
<name>view-action</name>
<value>/blogs/view</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resourcebundle>
com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
//权限映射
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
这种配置后再程序中判断当前用户是否有Power User权限的话,用下面的代码就可以了。
if (renderRequest.isUserInRole(“power-user”)) {
// ….
}