元数据检查方法原创
9人赞赏了该文章
1,008次浏览
编辑于2022年06月22日 09:10:13
背景:客户环境有时候有很多二开或者扩展的元数据,有些二开还将标准元数据打成私包进行部署,然后出现各种元数据问题影响功能使用
作用:通过下面的方法,能够快速定位系统加载的元数据所在jar包,排查是否被二开篡改;能够定位元数据是否存在,能够定位元数据属性是否存在
如果对元数据API熟悉,可以通过这里进行更多的扩展查询
--检查实体元数据存不存,通过查询分析执行服务端脚本,实体的包路径之间用/分割,能够指出实体所在的jar包路径。以person实体举例 com.kingdee.bos.dao.xml.impl.MDLoader.getInstance().cl.getResource("com/kingdee/eas/basedata/person/app/Person.entity");
--检查实体元数据的属性存不存,通过查询分析执行服务端脚本,实体包路径之间用.分割,并且不能带.entity结尾。以person实体的name属性举例: com.kingdee.bos.metadata.MetaDataLoaderFactory.getLocalMetaDataLoader(ctx).getEntity(com.kingdee.bos.metadata.MetaDataPK.create("com.kingdee.eas.basedata.person.app.Person")).getPropertyByNameRuntime("name");
推荐阅读