`
Feiing
  • 浏览: 240070 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个可能的列级权限控制方案讨论

阅读更多
最近的项目需要做到列级权限控制,  大意如下

public class DomainObject {
   private String attr1;
   private String attr2;
}


需求是 角色1 可对 attr1  进行读操作, 对 attr2 进行写操作,  而 角色2  对 attr1, attr2 都没有读权限.

目前考虑的方案 : 主要是在 ui 上控制, 如果没有读权限, 则显示空或无权限, 如果只有读权限, 则控制输入框为只读.

实现 : 建一张表用以纪录角色对 DomainObject   各属性的权限,  使用 webwork interceptor  拦截所有页面上的 ww 标签访问,  然后到配置表中查找权限信息,  如果查到匹配,  就将信息记录在一个集合中(类似 fieldError), 不妨称之为 fieldSecurityInfo,   最后更改标签模板,  根据 fieldSecurityInfo 中的信息做相应控制, 感觉大体可行.

目前的问题是 :

1. 如何拦截 <ww:> 标签的访问 ?
2. 只在 ui 上控制是否足够安全? 如果需要后台控制,  觉得难度工作量更大.


有做过类似需求的同学,  请不吝发言 
分享到:
评论
3 楼 Feiing 2006-05-29  
wainwen 写道
建议先把权限模型确定下来,再考虑如何实现。
ACL = Access Control List,访问控制列表。
另外一个很重要的概念是 RBAC = Role Based Access Contol,可以google一下。
如果对于权限模型经验不多,最好看看相关资料后再确定自己如何设计。个人感觉,权限系统是信息管理系统中非常复杂,也非常容易设计不到位的部分。
下面是一个比较简单的事业部制组织机构及权限模型:
组织结构:建立一颗部门树,部门可以嵌套子部门
职务:建立多种职务,简单系统,职业和部门可以没有关系,比如项目经理,公司所有部门都可以有项目经理的职务
权限:权限和职务关联,比如项目经理可以有以下权限:创建新任务、请假审批等
员工:一个员工,属于一个特定部门,同时可以在一个部门具有多种职务,也可以在多个部门兼任多个职务


你说了这么多,  跟我要做的列级权限控制有什么关系?
2 楼 wainwen 2006-05-28  
建议先把权限模型确定下来,再考虑如何实现。
ACL = Access Control List,访问控制列表。
另外一个很重要的概念是 RBAC = Role Based Access Contol,可以google一下。
如果对于权限模型经验不多,最好看看相关资料后再确定自己如何设计。个人感觉,权限系统是信息管理系统中非常复杂,也非常容易设计不到位的部分。
下面是一个比较简单的事业部制组织机构及权限模型:
组织结构:建立一颗部门树,部门可以嵌套子部门
职务:建立多种职务,简单系统,职业和部门可以没有关系,比如项目经理,公司所有部门都可以有项目经理的职务
权限:权限和职务关联,比如项目经理可以有以下权限:创建新任务、请假审批等
员工:一个员工,属于一个特定部门,同时可以在一个部门具有多种职务,也可以在多个部门兼任多个职务
1 楼 Feiing 2006-05-25  
其实这个 列级 权限控制跟 实例级 权限控制很类似,  标准的 实例级 权限控制是采用 ACL 实现,  不过其复杂度和执行效率都令人诟病

相关推荐

    通用权限模块设计与分析

    "通用数据权限管理系统设计.doc"可能关注数据层面的权限控制,如行级权限、列级权限等,确保用户只能查看和操作其被授权的数据。 "1 权限系统范围.doc"和"权限系统概要.doc"可能是对整个权限系统边界和核心功能的...

    ranger-2.0.0-SNAPSHOT-hbase-plugin.tar.gz

    在大数据领域,Apache Ranger作为一个安全管理框架,为Hadoop生态系统提供了全面的数据安全解决方案。Ranger通过提供细粒度的访问控制、审计和策略管理,确保了数据的隐私和安全性。本文将重点讨论Ranger 2.0.0-...

    oracle系统培训课件——资料包(7个ppt)

    - 权限与约束:讲解GRANT、REVOKE命令,以及行级和列级权限控制。 - 视图与同义词:如何创建和使用视图来提供数据访问的安全性,以及同义词在权限管理和简化SQL语句中的应用。 5. **备份与恢复策略** - RMAN...

    postgresql文档fz群.rar

    8. **安全性与权限**:具备精细的权限控制,包括角色管理、表级权限、列级权限和行级安全,确保数据的安全访问。 9. **大数据处理**:PostgreSQL可以通过并行查询、分区表和外部表等功能处理大规模数据,同时支持...

    SQL2022-SSEI-Dev

    由于提供的压缩包只有一个名为 "SQL2022-SSEI-Dev.exe" 的文件,这很可能是安装程序或工具包,用于在开发环境中设置 SQL Server 2022 的 SSEI 特性。 SQL Server 2022 是 Microsoft 提供的企业级数据库管理系统,...

    v9.7_linuxx64_server带许可证

    5. **安全性增强**:包括对行级和列级权限控制的改进,以及更强的加密功能,保护敏感数据安全。 6. **高可用性**:支持各种高可用性解决方案,如镜像、日志传送和故障切换,确保业务连续性。 7. **性能优化**:...

    DB2 V9.5 数据库安全性指南.pdf

    - **动态权限调整**:讨论在运行时动态调整用户或角色权限的方法和技术。 **3. 审计与监控** - **审计记录**:讲解如何配置审计日志来记录关键操作,以及如何分析这些日志以发现潜在的安全威胁。 - **性能监控**...

    refman-5.6-en.pdf

    9. **性能监控**:新的性能模式提供了一个详细的数据库性能视图,帮助管理员识别性能瓶颈。 10. **XML处理**:增强了XML数据类型的支持,包括XML解析、验证和查询功能。 在使用过程中,如果遇到问题,用户可以访问...

    Greenplum 4.3 管理员手册 英文版

    - **模拟行级和列级访问控制**:提供关于如何实现细粒度访问控制的方案。 - **数据加密**:讲解如何对敏感数据进行加密存储。 - **密码加密**:说明如何启用密码加密以增加安全性。 - **时间基认证**:介绍一种基于...

    Greenplum db admin

    - **模拟行级和列级访问控制**:介绍了如何实现更精细的数据访问控制策略。 - **数据加密**:介绍了加密敏感数据的重要性,并指导如何实施。 - **密码加密**:演示了如何加密用户的登录密码。 - **启用 SHA-256 ...

    小布oracleDBA11集

    "小布oracleDBA11集"可能是一个系列教程或学习资源,专门针对Oracle数据库11g版本。Oracle 11g是Oracle公司推出的数据库管理系统的一个重要版本,提供了许多新特性和增强功能,旨在提高性能、可用性和安全性。 1. *...

    24.SQL.Server.数据库设计与管理

    正常化是数据库设计中的一个重要概念,旨在减少数据冗余和提高数据一致性,我们将详细讨论第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF(巴斯-科德范式)。 接着,我们将学习 SQL Server 的核心功能...

Global site tag (gtag.js) - Google Analytics