liferay 7用OSGi的方式修改默认权限

事先声明,支持这一功能的新版本还没有发布,2017年5月份才支持的

1.以前在62的时候是通过修改ext项目进行修改

2.现在在70可以通过Module Fragment项目进行修改

相关文件:现在出现在这个xml文件中的默认权限还没有挪成OSGi模式,不能用Module Fragement项目进行修改

liferay 7用OSGi的方式修改默认权限

那么哪些是可以通过这种方式修改呢?那就是从这个xml中被挪走的都是可以进行修改的

liferay 7用OSGi的方式修改默认权限

然后如何修改呢,举个例子

1.先用liferay IDE创建一个Module Fragment的项目

2.选择com.liferay.bookmarks.web作为Host-OSGi bundle\

bnd文件现在长这样

Bundle-Name: test-permission
Bundle-SymbolicName: test.permission
Bundle-Version: 1.0.0
Fragment-Host: com.liferay.bookmarks.web;bundle-version="1.0.23"

3.然后在src/main/resources下添加portlet-ext.properties文件,内容如下:

resource.actions.configs=resource-actions/default.xml,resource-actions/default-ext.xml

4.最后在src/main/resources下添加resource-actions/default.xml加上你想要修改的内容,我想加一个action上去,所以稍微改了一下

<?xml version="1.0"?>
<!DOCTYPE resource-action-mapping PUBLIC "-//Liferay//DTD Resource Action Mapping 7.0.0//EN" "http://www.liferay.com/dtd/liferay-resource-action-mapping_7_0_0.dtd"> <resource-action-mapping>
<model-resource>
<model-name>com.liferay.bookmarks.model.BookmarksEntry</model-name>
<portlet-ref>
</portlet-ref>
<permissions>
<supports>
<action-key>TEST-PERMISSION</action-key>
</supports>
<guest-defaults>
</guest-defaults>
<guest-unsupported>
</guest-unsupported>
</permissions>
</model-resource>
</resource-action-mapping>

然后就可以部署上去了(ps:现在支持这一功能的portal还没发布,以后可以试试)

5.最后我们来看一下效果,在Control Panel->Users->Roles->User->Define Permission->Site Administration->Bookmarks可以找到我们新加的Action

liferay 7用OSGi的方式修改默认权限

Show u the code

上一篇:liferay MVCActionCommand的用法及例子


下一篇:如何自定义Liferay 7 portal的Log in登录界面