Fine报表权限流程分析记录

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中添加这个激活后就会每五分钟进行一次授权了