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


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

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

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

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

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

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

    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

    Show u the code

  • 相关阅读:
    DIV+CSS布局一行两列问题(Repeater布局)
    JavaScript为DropDownList添加新项
    Indexof的实现
    父类子类构造函数的执行顺序
    微软算法面试题(2)
    Heaven on Earth
    阿里巴巴笔试题马尔科夫(HMM)的特征
    心灵净化启示录
    职场英语:开心工作的十二条秘诀
    MySql错误代码1045的解决方案
  • 原文地址:https://www.cnblogs.com/hibou/p/6952603.html
Copyright © 2020-2023  润新知