权限组件接口说明文档.docx
- 文档编号:11558710
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:17
- 大小:59.76KB
权限组件接口说明文档.docx
《权限组件接口说明文档.docx》由会员分享,可在线阅读,更多相关《权限组件接口说明文档.docx(17页珍藏版)》请在冰豆网上搜索。
权限组件接口说明文档
项目编号:
文档编号:
版本号:
<权限组件接口说明文档>
<接口说明文档>
编写:
陈照日期:
2011年11月15日
校对:
日期:
年月日
审核:
日期:
年月日
批准:
日期:
年月日
保密级别:
秘密
目录
1.RBAC权限模型3
2.RAMS的权限模型3
2.1.RAMS说明3
2.2.RAMS的RBAC结构3
2.3.RAMS的表结构描述3
3.权限接口说明3
3.1.com.redhat.auth.ejb.AccountApplication4
3.2.com.redhat.auth.ejb.BizSystemApplication7
3.3.com.redhat.auth.ejb.FunctionEntityApplication8
3.4.com.redhat.auth.ejb.FunctionEntityTypeApplication10
3.5.com.redhat.auth.ejb.RoleApplication11
3.6.com.redhat.auth.ejb.SecurityStrategyApplication12
4.接口使用说明13
4.1.在Action层中获得接口13
4.2.例子:
为帐户添加权限14
1.RBAC权限模型
RBAC是一个国际普遍认可的权限模型,全名是:
RoleBaseAccessControl,译为基于角色的访问控制。
2.RAMS的权限模型
RAMS说明
RAMS(RedhatAuthorizationManagementSystem),是一个基于RBAC权限控制以及结合了SpringSecurity的权限控制组件(因为项目中可能只用到其一部份)。
RAMS的RBAC结构
RAMS的表结构描述
RAMS_ACCOUNT:
帐户表
RAMS_ROLE:
角色表
RAMS_FUNCTION_ENTITY:
权限表
RAMS_FUNCTION_ENTITY_TYPE:
权限的分类
RAMS_ACCOUNT_R_ROLE:
帐户与角色的关联表(一个帐户关联多个角色)
RAMS_ROLE_R_FUNCTION_ENTITY:
角色与权限的关联表(一个角色关系多个权限)
3.权限接口说明
com.redhat.auth.ejb.AccountApplication
publicinterfaceAccountApplication{
/**
*删除一个帐户,在生产中请勿使用该接口
*@paramid
*@author iffiff1@">TylerChen *@since2011-11-15 */ voiddeleteAccount(Longid); /** *新增或修改一个account实体 *@paramaccount */ AccountVOupdate(AccountVOaccount); /** *新增一个account实体 *@paramaccount */ AccountVOadd(AccountVOaccount); /** *锁定一个帐号 *@paramaccount */ voidlock(LongaccountId); /** *解锁一个帐号 *@paramaccount */ voidunLock(LongaccountId); /** *通过ID获取帐户信息 *@paramid *@return */ AccountVOgetAccount(longid); /** *通过用户名来获取帐户信息 *@paramusername *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ AccountVOgetAccount(Stringusername); /** *根据名称查询帐号是否存在 *@paramusername *@return */ booleanisAccountExistsByName(Stringusername); /** *根据帐号Email查询帐号是否存在 *@paramemail *@return */ booleanisAccountExistsByEmail(Stringemail); /** *将一个帐号同多个系统绑定起来 *@paramaccountId *@paramsystemIds *@return */ voidaccountBindSystems(longaccountId,String[]systemIds); /** *将一个帐号同多个系统解除绑定 *@paramaccountId *@paramsystemIds */ voidaccountUnBindSystem(longaccountId,String[]systemIds); /** *设置一个帐号和一个系统的绑定状态 *@paramaccontId *@paramsystemId *@paramstatus */ voidsetBizSystemBindingStatus(longaccontId,longsystemId, intbizSystemBindingStatus); /** *将一个系统同多个帐号进行绑定 *@paramsystemId *@paramaccountIds */ voidsystemBindAccount(longsystemId,String[]accountIds); /** *解除一个系统同多个帐号之间的绑定 *@paramsystemId *@paramaccountIds */ voidsystemUnBindAccount(longsystemId,String[]accountIds); /** *查出所有的accounts *@paramsearch{username,realName} *@parampage *@parampageSize *@return */ List /** *根据一个系统ID联动的查询出相应的Account *@paramsearch{id: bizSystemId,username,realName} *@parampage *@parampageSize *@return */ List intpageSize); /** *获取一个系统,查询出所有未包含此系统的Account *@paramsearch{username,realName} *@parampage *@parampageSize *@return */ List intpageSize); /** *传入accountId时,返回所有此ID未绑定的BizSystem *@paramsearch{id: accountId} */ List intpage,intpageSize); /** *为指定ID的帐户设置其角色 *@paramaccountId *@paramroleIds *@author iffiff1@">TylerChen *@since2011-11-15 */ voidsetRoles(LongaccountId,Long[]roleIds); /** *为指定ID的帐户添加角色 *@paramaccountId *@paramroleIds *@author iffiff1@">TylerChen *@since2011-11-15 */ voidaddRole(LongaccountId,Long[]roleIds); /** *为指定ID的帐户删除角色 *@paramaccountId *@paramroleIds *@author iffiff1@">TylerChen *@since2011-11-15 */ voidremoveRole(LongaccountId,Long[]roleIds); } com.redhat.auth.ejb.BizSystemApplication publicinterfaceBizSystemApplication{ /** *删除一个业务系统信息,在生产中请勿使用该接口 *@parambizSystemId *@author iffiff1@">TylerChen *@since2011-11-15 */ voidremoveBizSystem(LongbizSystemId); /** *创建一个系统 *@paramsystem *@return */ BizSystemVOcreateBizSystem(BizSystemVOsystem); /** *保存修改 *@paramsystem *@return */ BizSystemVOsaveBizSystem(BizSystemVOsystem); } com.redhat.auth.ejb.FunctionEntityApplication publicinterfaceFunctionEntityApplication{ /** *查询某节点全部子节点 *@paramparentId上级节点的ID *@paramcurrentPage当前页 *@parampageSize分页大小 *@return */ List intpageSize); /** *通过ID获得功能实体信息 *@paramid *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ FunctionEntityVOgetFunctionEntityById(Longid); /** *创建一个功能实体 *@paramentity *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ FunctionEntityVOcreateFunctionEntity(FunctionEntityVOentity); /** *更新一个功能实体 *@paramentity *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ FunctionEntityVOupdateFunctionEntity(FunctionEntityVOentity); /** *删除一个功能实体 *@paramid *@author iffiff1@">TylerChen *@since2011-11-15 */ voiddeleteFunctionEntityById(Longid); /** *获得功能实体的记录数 *@paramsearch *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ LonggetCount(FunctionEntityVOsearch); /** *查询功能实体信息 *@paramsearch{id,name,alias,status} *@paramcurrentPage当前页 *@parampageSize分页大小 *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ List intcurrentPage,intpageSize); /** *增加/解除功能实体关联关系 *@paramid *@paramids */ voidsetRelevance(longrscId,longdestId); /** *更新功能实体状态 *@paramFunctionEntity *@paramstatus */ voidchangStatus(Longid,intfunctionEntityStatus); /** *获取默认父实体,不存在则创建 *@return */ FunctionEntityVOgetDefaultRootFunctionEntity(); } com.redhat.auth.ejb.FunctionEntityTypeApplication publicinterfaceFunctionEntityTypeApplication{ /** *保存/增加功能实体类型 *@paramtype *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ FunctionEntityTypeVOsave(FunctionEntityTypeVOtype); /** *获得一个功能实体类型 *@paramid *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ FunctionEntityTypeVOget(longid); /** *删除一个功能实体类型 *@paramid *@author iffiff1@">TylerChen *@since2011-11-15 */ voiddelete(longid); } com.redhat.auth.ejb.RoleApplication publicinterfaceRoleApplication{ /** *根据ID查询role对象 *@paramid *@return */ RoleVOgetRoleById(Longid); /** *创建一个角色 *@paramrole *@return */ RoleVOcreateRole(RoleVOrole); /** *更新一个角色 *@paramrole *@return */ RoleVOupdateRole(RoleVOrole); /** *删除一个角色对象 *@paramid */ voiddeleteRoleById(Longid); /** *分页查询角色列表 *@paramsearch{name,status} *@paramcurrentPage *@parampageSize *@return */ List /** *统计匹配记录数 *@paramsearch *@return */ LonggetCount(RoleVOsearch); /** *按功能实体funIds集合给角色id进行权限分配 *@paramcurrentRole *@paramfunIds *@return */ voidsetPermissions(Longid,Long[]funIds); /** *按功能实体funIds集合给角色id进行权限分配 *@paramcurrentRole *@paramfunIds *@return */ voidremovePermissions(Longid,Long[]funIds); /** *按功能实体funIds集合给角色id进行权限分配 *@paramcurrentRole *@paramfunIds */ voidaddPermissions(Longid,Long[]funIds); /** *状态设置 *@paramrole *@paramstatus */ voidchangeStatus(Longid,introleStatus); } com.redhat.auth.ejb.SecurityStrategyApplication publicinterfaceSecurityStrategyApplication{ /** *删除一个安全策略 *@paramid *@author iffiff1@">TylerChen *@since2011-11-15 */ voiddeleteSecurityStrategy(Longid); /** *新增/保存一个安全策略 *@paramstrategy *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ SecurityStrategyVOsaveSecurityStrategy(SecurityStrategyVOstrategy); /** *获得所有的安全策略 *@return *@author iffiff1@">TylerChen *@since2011-11-15 */ SecurityStrategyVOloadSecurityStrategy(); } 4.接口使用说明 所需要关注的接口有: com.redhat.auth.ejb.AccountApplication com.redhat.auth.ejb.FunctionEntityTypeApplication com.redhat.auth.ejb.FunctionEntityApplication com.redhat.auth.ejb.RoleApplication 在Action层中获得接口 com.redhat.auth.ejb.AccountApplication @Autowired com.redhat.auth.ejb.AccountApplicationramsAccountApplication com.redhat.auth.ejb.FunctionEntityTypeApplication @Autowired com.redhat.auth.ejb.FunctionEntityTypeApplicationramsFunctionEntityTypeApplication com.redhat.auth.ejb.FunctionEntityApplication @Autowired com.redhat.auth.ejb.FunctionEntityApplicationramsFunctionEntityApplication com.redhat.auth.ejb.RoleApplication @Autowired com.redhat.auth.ejb.RoleApplicationramsRoleApplication 例子: 为帐户添加权限 AccountVOaccount=null; RoleVOrole=null; FunctionEntityTypeVOtype=null; FunctionEntityVOentity=nul
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 权限 组件 接口 说明 文档