【BOS基础系统_权限】业务单据验权流程代码走读

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【BOS基础系统_权限】业务单据验权流程代码走读

1.单据增删改权限验权

1.1---业务单据前端增删改等按钮事件验权(功能权限,无权则抛异常:没有XXX 的业务权限)------------

可参考:https://wenku.my7c.com/article/171321788016661248

 

1.2----业务单据增删改操作的数据权限验权流程(没有权限则抛异常:没有 XXX 的 数据权限

com.kingdee.eas.scm.sm.pur.client.PurOrderEditUI.actionSave_actionPerformed(ActionEvent)

com.kingdee.eas.scm.common.client.SCMBillEditUI.actionSave_actionPerformed(ActionEvent)

com.kingdee.eas.framework.client.CoreBillEditUI.actionSave_actionPerformed(ActionEvent)

com.kingdee.eas.framework.client.AbstractCoreBillEditUI.actionSave_actionPerformed(ActionEvent)

com.kingdee.eas.framework.client.EditUI.actionSave_actionPerformed(ActionEvent)

com.kingdee.eas.framework.client.EditUI.runSave()

getBizInterface().save(editData);

com.kingdee.eas.scm.sm.pur.client.PurOrderEditUI.getBizInterface()

(com.kingdee.eas.scm.sm.pur.IPurOrder)BOSObjectFactory.createRemoteBOSObjectWithObjectContext(new BOSObjectType("3171BFAD") ,com.kingdee.eas.scm.sm.pur.IPurOrder.class, objectCtx);

com.kingdee.eas.framework.CoreBase.save(CoreBaseInfo)

return getController().save(getContext(), model);

protected BizController getBizController() throws BOSException {

return EJBFactory.getBusinessController(getContext(), getType());

}

com.kingdee.eas.framework.app.CoreBaseController.save(Context, CoreBaseInfo)

com.kingdee.eas.framework.app.AbstractCoreBaseControllerBean.save(Context, CoreBaseInfo)

com.kingdee.bos.framework.ejb.AbstractBizControllerBean.invokeServiceBefore(ServiceContext)


--------------------进入权限服务---------------------------

com.kingdee.eas.base.permission.app.adapter.PermissionServiceAdapter.execute(IServiceContext)

com.kingdee.eas.base.permission.app.adapter.PermissionServiceAdapter.handleServiceBefore(IServiceContext)

IPermission iPermission = PermissionFactory.getLocalInstance(serviceContext.getContext());

iPermission.checkDataPermission(userPK, orgPK, permItemInfo.getName(), objectValue);

com.kingdee.eas.base.permission.app.PermissionControllerBean._checkDataPermission(Context, IObjectPK, IObjectPK, IMetaDataPK, IMetaDataPK, IObjectPK)

com.kingdee.eas.base.permission.app.service.DataPermissionService.checkPermission(IObjectPK, IObjectPK, String, Object)

com.kingdee.eas.base.permission.app.service.DataPermissionService.hasPermission(IObjectPK, IObjectPK, String, Object)

.......


2、单据查看权限验权

2.1---业务单据ListUI加载时的查看权限验权(功能权限,无权则抛异常:没有XXX 的业务权限

com.kingdee.eas.scm.sm.pur.client.PurOrderListUI.onLoad()

com.kingdee.eas.scm.common.client.SCMBillListUI.onLoad()

com.kingdee.eas.framework.client.CoreBillListUI.onLoad()

com.kingdee.eas.framework.client.ListUI.onLoad()

com.kingdee.eas.framework.client.CoreUI.onLoad()

com.kingdee.eas.framework.client.CoreUI.handlePermissionForItemAction(ItemAction)


2.2----业务单据查询(走实体的查询方法,如getValue(),getCollection()等)的数据权限验权流程(不满足数据规则就抛异常:没有XXX 的数据权限

代码流程与1.2一致,只是走的方法不一样。


2.3----业务单据查询(走实体query查询)的数据权限验权流程(只查到有权限看到的数据,不抛异常

(com.kingdee.eas.framework.client.ListUI.initMainQuery()

com.kingdee.eas.framework.client.ListUI.actionQuery_actionPerformed(ActionEvent))

com.kingdee.eas.base.uiframe.client.MainMenuTree.showUI(Component, MainMenuItemInfo, OpenMethod)

com.kingdee.eas.base.uiframe.client.UINewTab.show()

mainUI.getUiManager().changeTab(uiObject);

com.kingdee.eas.framework.client.CoreUI.doLayout()

com.kingdee.eas.framework.client.CoreBillListUI.onShow()

com.kingdee.eas.framework.client.ListUI.onShow()

com.kingdee.eas.framework.client.CoreUI.onShow()

getFastFilter().executeDefaultSolution(defaultSolution)

com.kingdee.eas.framework.query.MySolutionList.doExecuteSolutionItem(SolutionItem)

quickSearchQuery.doQuery(item.getSolutionInfo(), filter, mainOrgs, false);

com.kingdee.eas.framework.client.ListUI.doQuery(QuerySolutionInfo, FilterInfo, List, boolean)

com.kingdee.eas.framework.client.ListUI.execQuery()

com.kingdee.bos.ctrl.kdf.table.KDTable.removeRows(boolean)

--------------------进入权限服务---------------------------

com.kingdee.eas.base.permission.app.adapter.PermissionServiceAdapter.execute(IServiceContext)

com.kingdee.eas.base.permission.app.adapter.PermissionServiceAdapter.handleServiceBefore(IServiceContext)

com.kingdee.eas.base.permission.app.adapter.MutiOrgPermissionServiceAdapter.handleQueryDataPermission(IServiceContext, PermItemInfo)

com.kingdee.eas.base.permission.app.adapter.MutiOrgFilter.initMultiOrgFilterItem(Context, IObjectPK, Collection, String, String[], PermItemInfo)

ruleStr = mpService.getPermissionRule(userPK,orgCollection,permItemInfo.getName(),orgFieldName);

com.kingdee.eas.base.permission.app.service.multiorg.MultiOrgDataPermissionService.getPermissionRule(IObjectPK, Collection, String, String)

......



(刷新走query验数据权限

com.kingdee.eas.framework.client.ListUI.actionRefresh_actionPerformed(ActionEvent)

com.kingdee.eas.framework.client.ListUI.refresh(ActionEvent)

com.kingdee.eas.framework.client.ListUI.doQuery(QuerySolutionInfo, FilterInfo, List, boolean)

com.kingdee.eas.base.permission.app.adapter.PermissionServiceAdapter.execute(IServiceContext)

)


【BOS基础系统_权限】业务单据验权流程代码走读

1.单据增删改权限验权1.1---业务单据前端增删改等按钮事件验权(功能权限,无权则抛异常:没有XXX 的业务权限)------------可参考:https...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息