Fine报表权限流程分析记录
URL访问三种类型的报表:
第一个:BI报表
例如: http://192.25.103.250:37799/WebReport/ReportServer?op=fr_bi&cmd=bi_init&id=50&openFromShare=true&systemManager=true&createBy=-999 http://192.25.103.250:37799/WebReport/ReportServer?op=fr_bi&cmd=bi_init&id=55&show=_bi_show_&createBy=-999
第二个:finereport制作的cpt模板,
http://192.25.103.250:37799/WebReport/ReportServer?op=fs_main&cmd=entry_report&id=25 或者 http://192.25.103.250:37799/WebReport/ReportServer?reportlet=王健全_分支机构概况.cpt 在本地测试打开cpt模板是直接通过模板名的,取fr_reportletentry的reportletPath的值;
第三种:url连接的报表(fr_urlentry)取表里url的路径值即可
http://192.25.103.250:37799/WebReport/ReportServer?op=fr_bi&cmd=bi_init&id=120&createBy=-999
以下是针对直接用url访问:
针对BI的模板(数据库直连)报表的BI报表权限:
-- 1,需配置直连数据库的角色权限xml文件(配置报表内容权限,不支持配置所有角色,支持配置所有部门职位);
-- 2,需要配置角色的BI查看权限xml文件(配置报表打开权限);
-- 3,跟finedb.FR_T_CUREP表的数据没关系;
-- 4,人员必须要有部门职位(因为1中不支持配置所有角色,所以每次新增人员都要配置一次;配置所有部门职位,新增人员就不用配置默认有权限);
针对finereport制作的cpt模板报表权限:
-- 1,跟 角色的BI查看权限没关系;
-- 2,跟finedb.FR_T_CURtP 表的数据有关系,也是必须登录到授权页面,直接删除后台数据,不登录授权页面操作没效果;
-- 3,后台数据库变更,前端不会显示,权限不收影响,即使后台将模块权限记录删除,依旧有权限;必须的登录授权模块操作;
URL连接报表权限:
--权限模式跟url里面内容有关:也分为BI和report
--BI按BI的权限配置方案;report按照finereport的权限配置方案
以下针对FineBI平台登录访问:
针对BI的模板(数据库直连)和URL连接报表的BI报表权限:
-- 1,需配置直连数据库的角色权限xml文件(配置报表内容权限,不支持配置所有角色,支持配置所有部门职位);
-- 2,需要配置角色的BI查看权限xml文件(配置报表打开权限);
-- 3,跟finedb.FR_T_CUREP表的数据有关系,仅仅是显示目录的作用,也是必须登录到授权页面;
-- 4,人员必须要有部门职位(因为1中不支持配置所有角色,所以每次新增人员都要配置一次;配置所有部门职位,新增人员就不用配置默认有权限);
针对finereport制作的cpt模板报表权限:
-- 1,跟 角色的BI查看权限没关系;
-- 2,跟finedb.FR_T_CURtP 表的数据有关系,也是必须登录到授权页面;
-- 3,后台数据库变更,前端不会显示,权限不收影响,即使后台将模块权限记录删除,依旧有权限;必须的登录授权模块操作;
URL连接报表权限:
--权限模式跟url里面内容有关:也分为BI和report
--BI按BI的权限配置方案;report按照finereport的权限配置方案
权限表:
select * from finedb.FR_T_CUREP; -- 自定义角色预览fs目录的权限表,对应fr中的目录权限 -- type报表类型2 对应的是fr_t_reportletentry -- type报表类型7 对应的是fr_bireportentry -- type报表类型0 对应的是finedb.fr_folderentry -- type报表类型3 对应的是finedb.fr_urlentry select * from finedb.fr_t_curmp ; -- 自定义角色预览平台管理模块的权限表 select * from finedb.fr_t_curesp; -- 自定义角色excel批量导入权限表 select * from finedb.fr_t_curhpp; -- 自定义角色首页权限表 select * from finedb.fr_t_curtp ; -- 自定义角色模板权限表 select * from finedb.fr_t_curdacrp ; -- 自定义角色可管理部门/自定义角色的权限表 select * from finedb.fr_t_curdcp ; -- 定义角色数据连接权限表
表对应关系:
FR_T_PlatformManageModule FR_T_PFMM
FR_ReportProcessEntry FR_RPPE
FR_T_CompanyRoleEntryPrivilege FR_T_COREP
FR_T_CustomRoleEntryPrivilege FR_T_CUREP
FR_T_CompanyRoleDepAndCRolePrivilege FR_T_CORDACRP
FR_T_CustomRoleDepAndCRolePrivilege FR_T_CURDACRP
FR_T_CompanyRoleModulePrivilege FR_T_CORMP
FR_T_CustomRoleModulePrivilege FR_T_CURMP
FR_T_CompanyRoleESPrivilege FR_T_CORESP
FR_T_CustomRoleESPrivilege FR_T_CURESP
FR_T_CompanyRoleTemplatePrivilege FR_T_CORTP
FR_T_CustomRoleTemplatePrivilege FR_T_CURTP
FR_T_CompanyRoleHomePagePrivilege FR_T_CORHPP
FR_T_CustomRoleHomePagePrivilege FR_T_CURHPP
FR_Schedule_Task_Link_Output FSTLO
-- 删除离职人员,需要删除的关联表,只适用人员角色一对一的情况
delete from finedb.fr_t_curep where roleid=9; delete from finedb.fr_t_curtp where roleid=9; delete from finedb.fr_t_curmp where roleid=9; delete from finedb.fr_t_curesp where roleid=9; delete from finedb.fr_t_curhpp where roleid=9; delete from finedb.fr_t_curdcp where roleid=9; delete from finedb.fr_t_curdacrp where roleid=9; delete from finedb.fr_t_customrole_user where userid=81; delete from finedb.fr_t_department_post_user where userid=81; delete from finedb.fr_t_user where id =81; delete from finedb.fr_t_customrole where id =9;
插件详情:
--fr-plugin-cache-reset-1.0.zip 每次新增数据,删除数据都执行下清理缓存命令: op=fs_main&cmd=reset_cache这个命令在安装这个插件后才有效 --fr-plugin-batch-userset-1.2.zip安装后访问这个就可以了——op=bi_batch_set&cmd=start 在URL中添加这个激活后就会每五分钟进行一次授权了