DataRoom权限与安全配置用户管理、角色权限与访问日志全解析【免费下载链接】DataRoomAI对话式生成大屏、页面采用前后端一体化解决方案几十种炫酷图表支持20数据来源接入适用于大屏、低代码、BI场景使用简单代码完全开源。项目地址: https://gitcode.com/gh_mirrors/da/DataRoomDataRoom作为一款功能强大的AI对话式生成大屏和页面设计平台其权限与安全配置体系是企业级应用的核心保障。 本文将为您全面解析DataRoom的用户管理、角色权限控制和访问日志监控功能帮助您构建安全可靠的数据可视化系统。为什么DataRoom的权限安全如此重要在现代企业数据可视化应用中权限控制不仅是基本需求更是数据安全的生命线。DataRoom通过多层次的安全防护机制确保不同角色的用户只能访问其权限范围内的资源和功能有效防止数据泄露和误操作风险。DataRoom权限体系架构DataRoom采用基于角色的访问控制RBAC模型将权限管理分为三个核心层级用户管理- 控制谁可以访问系统角色权限- 定义用户可以做什么访问日志- 记录用户做了什么 用户管理精细化账户控制DataRoom的用户管理系统位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/user/UserController.java提供了完整的用户生命周期管理功能。用户状态管理系统定义了四种用户状态代码位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/constant/UserStatus.javaNORMAL- 正常状态用户可正常登录使用LOCKED- 锁定状态通常由连续登录失败触发DISABLED- 禁用状态管理员手动禁用PASSWORD_EXPIRED- 密码过期状态安全登录机制DataRoom实现了多重安全防护措施验证码保护- 防止暴力破解攻击密码加密存储- 使用RSA非对称加密登录失败锁定- 连续失败后自动锁定账户账户有效期控制- 支持设置用户有效期// 登录验证核心逻辑 PostMapping(/login) public RespString login(RequestBody MapString, String params) { // 验证码校验 String cachedCode captchaCache.getIfPresent(captchaKey); if (!cachedCode.equals(captchaCode.toLowerCase())) { return Resp.error(验证码不正确); } // 密码解密验证 String decryptedPassword RsaUtils.decryptByPrivateKey(password, dataRoomConfig.getPrivateKey()); // 登录失败计数与锁定 if (userService.isLoginLockActive(dbUser)) { return Resp.error(账号已锁定请10分钟后重试); } } 角色权限三级权限体系DataRoom采用简洁而强大的三级角色体系定义在dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/constant/DataRoomRole.java1. 管理员角色manager权限范围系统最高权限主要功能用户管理增删改查角色分配系统配置查看所有访问日志2. 开发者角色developer权限范围数据可视化设计主要功能创建和编辑大屏、页面管理数据源和数据集配置组件和交互预览和测试功能3. 访问者角色sharer权限范围只读访问主要功能查看已发布的大屏执行数据集查询查看个人资料权限控制实现DataRoom使用Apache Shiro框架进行权限控制通过注解方式实现细粒度权限管理// 管理员专属接口 GetMapping(/page) RequiresRoles(value DataRoomRole.MANAGER) public RespPageVoUserEntity page(UserQueryDTO queryDTO) { return Resp.success(userService.page(queryDTO)); } // 开发者专属接口 PostMapping(/insert) RequiresRoles(value DataRoomRole.DEVELOPER) public RespString insert(RequestBody DatasetEntity datasetEntity) { datasetEntity.setCode(CodeWorker.generateCode(DataRoomConstant.Dataset.CODE_PREFIX)); return Resp.success(datasetService.insert(datasetEntity)); } // 访问者及以上权限 GetMapping(/current) RequiresRoles(value DataRoomRole.SHARER) public RespLoginUser current() { LoginUser currentUser LoginUserUtils.getCurrentUser(); return Resp.success(currentUser); } 访问日志全方位操作审计DataRoom的操作日志系统位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/operationlog/提供了完整的操作审计功能。日志记录内容系统记录以下关键信息操作者信息ID、名称、角色操作目标类型、ID、名称操作详情动作类型、描述、业务类型请求信息IP地址、User-Agent、请求参数执行结果成功/失败、耗时、响应码数据库表结构操作日志表结构定义在SQL文件中CREATE TABLE IF NOT EXISTS dr_operation_log ( id VARCHAR(50) NOT NULL COMMENT 主键, operator_id VARCHAR(64) DEFAULT NULL COMMENT 操作者ID, operator_name VARCHAR(128) DEFAULT NULL COMMENT 操作者名称, operator_role VARCHAR(255) DEFAULT NULL COMMENT 操作者角色, target_type VARCHAR(64) DEFAULT NULL COMMENT 目标类型, target_id VARCHAR(128) DEFAULT NULL COMMENT 目标标识, target_name VARCHAR(255) DEFAULT NULL COMMENT 目标名称, action_type VARCHAR(64) DEFAULT NULL COMMENT 动作类型, action_desc VARCHAR(255) DEFAULT NULL COMMENT 动作描述, business_type VARCHAR(64) DEFAULT NULL COMMENT 业务类型, business_name VARCHAR(255) DEFAULT NULL COMMENT 业务名称, -- 更多字段... ); 配置指南快速上手1. 用户管理配置在dataRoomServer/src/main/resources/application-base.yml中可以配置基础安全设置dataRoom: security: # 是否开启单点登录 enable: true # 校验用户当前身份的接口 currentUserUrl: http://vue.ruoyi.vip/prod-api/getInfo # 适配器可选值 ruoyi、default adapter: ruoyi # 对方系统token在请求头中的key名称 headerKey: Authorization2. 默认用户初始化系统初始化时会自动创建三个默认用户SQL位于dataRoomServer/src/main/resources/h2/dataroom_h2.all.sql管理员(admin) - 拥有所有权限开发者(developer) - 可创建和编辑内容访问者(sharer) - 仅查看权限3. 密码安全策略DataRoom使用RSA非对称加密存储密码确保密码安全// 密码加密存储 String encryptedPassword RsaUtils.encryptByPublicKey(plainPassword, publicKey); // 密码验证 String decryptedPassword RsaUtils.decryptByPrivateKey(encryptedPassword, privateKey);️ 最佳实践建议1. 权限分配原则最小权限原则只授予完成任务所需的最小权限职责分离开发、测试、生产环境使用不同账户定期审计定期检查用户权限和操作日志2. 安全配置建议启用验证码防止自动化攻击设置密码策略定期更换密码配置IP白名单限制访问来源启用操作日志保留完整的审计记录3. 监控与告警异常登录监控关注异常时间、IP的登录权限变更审计记录所有权限变更操作敏感操作告警对重要操作设置实时告警 常见问题解答Q: 如何添加新用户A: 管理员登录后进入用户管理界面点击新增用户按钮填写账号、用户名、密码并分配角色即可。Q: 如何修改用户权限A: 管理员可以在用户管理界面编辑用户信息修改角色字段支持多角色用逗号分隔。Q: 用户被锁定怎么办A: 管理员可以在用户管理界面找到被锁定的用户点击解锁按钮解除锁定。Q: 如何查看操作日志A: 管理员登录后进入访问日志模块可以按时间、操作者、操作类型等条件筛选查看。Q: 支持单点登录吗A: 是的DataRoom支持与若依等系统集成单点登录配置详见官方文档。 总结DataRoom的权限与安全配置体系为企业级数据可视化应用提供了坚实的安全保障。通过用户管理、角色权限和访问日志三大模块的有机结合实现了从身份认证到操作审计的全流程安全管控。无论是小型团队还是大型企业DataRoom都能提供灵活、安全的权限管理方案。其简洁的三级角色体系降低了管理复杂度而详细的访问日志则为安全审计提供了有力支持。想要深入了解DataRoom的更多功能建议查看官方文档中的详细配置说明和API接口文档或者直接体验系统的完整权限管理功能。记住良好的权限管理不仅是安全需求更是数据治理的基础。合理配置DataRoom的权限体系让您的数据可视化项目既安全又高效【免费下载链接】DataRoomAI对话式生成大屏、页面采用前后端一体化解决方案几十种炫酷图表支持20数据来源接入适用于大屏、低代码、BI场景使用简单代码完全开源。项目地址: https://gitcode.com/gh_mirrors/da/DataRoom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
DataRoom权限与安全配置:用户管理、角色权限与访问日志全解析
发布时间:2026/7/16 17:32:25
DataRoom权限与安全配置用户管理、角色权限与访问日志全解析【免费下载链接】DataRoomAI对话式生成大屏、页面采用前后端一体化解决方案几十种炫酷图表支持20数据来源接入适用于大屏、低代码、BI场景使用简单代码完全开源。项目地址: https://gitcode.com/gh_mirrors/da/DataRoomDataRoom作为一款功能强大的AI对话式生成大屏和页面设计平台其权限与安全配置体系是企业级应用的核心保障。 本文将为您全面解析DataRoom的用户管理、角色权限控制和访问日志监控功能帮助您构建安全可靠的数据可视化系统。为什么DataRoom的权限安全如此重要在现代企业数据可视化应用中权限控制不仅是基本需求更是数据安全的生命线。DataRoom通过多层次的安全防护机制确保不同角色的用户只能访问其权限范围内的资源和功能有效防止数据泄露和误操作风险。DataRoom权限体系架构DataRoom采用基于角色的访问控制RBAC模型将权限管理分为三个核心层级用户管理- 控制谁可以访问系统角色权限- 定义用户可以做什么访问日志- 记录用户做了什么 用户管理精细化账户控制DataRoom的用户管理系统位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/user/UserController.java提供了完整的用户生命周期管理功能。用户状态管理系统定义了四种用户状态代码位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/constant/UserStatus.javaNORMAL- 正常状态用户可正常登录使用LOCKED- 锁定状态通常由连续登录失败触发DISABLED- 禁用状态管理员手动禁用PASSWORD_EXPIRED- 密码过期状态安全登录机制DataRoom实现了多重安全防护措施验证码保护- 防止暴力破解攻击密码加密存储- 使用RSA非对称加密登录失败锁定- 连续失败后自动锁定账户账户有效期控制- 支持设置用户有效期// 登录验证核心逻辑 PostMapping(/login) public RespString login(RequestBody MapString, String params) { // 验证码校验 String cachedCode captchaCache.getIfPresent(captchaKey); if (!cachedCode.equals(captchaCode.toLowerCase())) { return Resp.error(验证码不正确); } // 密码解密验证 String decryptedPassword RsaUtils.decryptByPrivateKey(password, dataRoomConfig.getPrivateKey()); // 登录失败计数与锁定 if (userService.isLoginLockActive(dbUser)) { return Resp.error(账号已锁定请10分钟后重试); } } 角色权限三级权限体系DataRoom采用简洁而强大的三级角色体系定义在dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/constant/DataRoomRole.java1. 管理员角色manager权限范围系统最高权限主要功能用户管理增删改查角色分配系统配置查看所有访问日志2. 开发者角色developer权限范围数据可视化设计主要功能创建和编辑大屏、页面管理数据源和数据集配置组件和交互预览和测试功能3. 访问者角色sharer权限范围只读访问主要功能查看已发布的大屏执行数据集查询查看个人资料权限控制实现DataRoom使用Apache Shiro框架进行权限控制通过注解方式实现细粒度权限管理// 管理员专属接口 GetMapping(/page) RequiresRoles(value DataRoomRole.MANAGER) public RespPageVoUserEntity page(UserQueryDTO queryDTO) { return Resp.success(userService.page(queryDTO)); } // 开发者专属接口 PostMapping(/insert) RequiresRoles(value DataRoomRole.DEVELOPER) public RespString insert(RequestBody DatasetEntity datasetEntity) { datasetEntity.setCode(CodeWorker.generateCode(DataRoomConstant.Dataset.CODE_PREFIX)); return Resp.success(datasetService.insert(datasetEntity)); } // 访问者及以上权限 GetMapping(/current) RequiresRoles(value DataRoomRole.SHARER) public RespLoginUser current() { LoginUser currentUser LoginUserUtils.getCurrentUser(); return Resp.success(currentUser); } 访问日志全方位操作审计DataRoom的操作日志系统位于dataRoomServer/src/main/java/com/gccloud/gcpaas/dataroom/core/operationlog/提供了完整的操作审计功能。日志记录内容系统记录以下关键信息操作者信息ID、名称、角色操作目标类型、ID、名称操作详情动作类型、描述、业务类型请求信息IP地址、User-Agent、请求参数执行结果成功/失败、耗时、响应码数据库表结构操作日志表结构定义在SQL文件中CREATE TABLE IF NOT EXISTS dr_operation_log ( id VARCHAR(50) NOT NULL COMMENT 主键, operator_id VARCHAR(64) DEFAULT NULL COMMENT 操作者ID, operator_name VARCHAR(128) DEFAULT NULL COMMENT 操作者名称, operator_role VARCHAR(255) DEFAULT NULL COMMENT 操作者角色, target_type VARCHAR(64) DEFAULT NULL COMMENT 目标类型, target_id VARCHAR(128) DEFAULT NULL COMMENT 目标标识, target_name VARCHAR(255) DEFAULT NULL COMMENT 目标名称, action_type VARCHAR(64) DEFAULT NULL COMMENT 动作类型, action_desc VARCHAR(255) DEFAULT NULL COMMENT 动作描述, business_type VARCHAR(64) DEFAULT NULL COMMENT 业务类型, business_name VARCHAR(255) DEFAULT NULL COMMENT 业务名称, -- 更多字段... ); 配置指南快速上手1. 用户管理配置在dataRoomServer/src/main/resources/application-base.yml中可以配置基础安全设置dataRoom: security: # 是否开启单点登录 enable: true # 校验用户当前身份的接口 currentUserUrl: http://vue.ruoyi.vip/prod-api/getInfo # 适配器可选值 ruoyi、default adapter: ruoyi # 对方系统token在请求头中的key名称 headerKey: Authorization2. 默认用户初始化系统初始化时会自动创建三个默认用户SQL位于dataRoomServer/src/main/resources/h2/dataroom_h2.all.sql管理员(admin) - 拥有所有权限开发者(developer) - 可创建和编辑内容访问者(sharer) - 仅查看权限3. 密码安全策略DataRoom使用RSA非对称加密存储密码确保密码安全// 密码加密存储 String encryptedPassword RsaUtils.encryptByPublicKey(plainPassword, publicKey); // 密码验证 String decryptedPassword RsaUtils.decryptByPrivateKey(encryptedPassword, privateKey);️ 最佳实践建议1. 权限分配原则最小权限原则只授予完成任务所需的最小权限职责分离开发、测试、生产环境使用不同账户定期审计定期检查用户权限和操作日志2. 安全配置建议启用验证码防止自动化攻击设置密码策略定期更换密码配置IP白名单限制访问来源启用操作日志保留完整的审计记录3. 监控与告警异常登录监控关注异常时间、IP的登录权限变更审计记录所有权限变更操作敏感操作告警对重要操作设置实时告警 常见问题解答Q: 如何添加新用户A: 管理员登录后进入用户管理界面点击新增用户按钮填写账号、用户名、密码并分配角色即可。Q: 如何修改用户权限A: 管理员可以在用户管理界面编辑用户信息修改角色字段支持多角色用逗号分隔。Q: 用户被锁定怎么办A: 管理员可以在用户管理界面找到被锁定的用户点击解锁按钮解除锁定。Q: 如何查看操作日志A: 管理员登录后进入访问日志模块可以按时间、操作者、操作类型等条件筛选查看。Q: 支持单点登录吗A: 是的DataRoom支持与若依等系统集成单点登录配置详见官方文档。 总结DataRoom的权限与安全配置体系为企业级数据可视化应用提供了坚实的安全保障。通过用户管理、角色权限和访问日志三大模块的有机结合实现了从身份认证到操作审计的全流程安全管控。无论是小型团队还是大型企业DataRoom都能提供灵活、安全的权限管理方案。其简洁的三级角色体系降低了管理复杂度而详细的访问日志则为安全审计提供了有力支持。想要深入了解DataRoom的更多功能建议查看官方文档中的详细配置说明和API接口文档或者直接体验系统的完整权限管理功能。记住良好的权限管理不仅是安全需求更是数据治理的基础。合理配置DataRoom的权限体系让您的数据可视化项目既安全又高效【免费下载链接】DataRoomAI对话式生成大屏、页面采用前后端一体化解决方案几十种炫酷图表支持20数据来源接入适用于大屏、低代码、BI场景使用简单代码完全开源。项目地址: https://gitcode.com/gh_mirrors/da/DataRoom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考