权限管理有哪些技术

权限管理有以下技术:1、功能权限管理技术;2、数据级权限管理技术。功能权限管理技术,一般就使用基于角色访问控制技术RBAC(Role Based Access Control)。该技术被广泛运用于各个系统,非常容易掌握。

权限管理有哪些技术-Worktile社区

1、功能权限管理技术

功能权限管理技术,一般就使用基于角色访问控制技术RBAC(Role Based Access Control)。该技术被广泛运用于各个系统,非常容易掌握。权限设置一般来说,系统提供如下功能:角色管理界面,由用户定义角色,给角色赋权限;用户角色管理界面,由用户给系统用户赋予角色。一些优异系统,还支持用户定义权限,这样新增功能的时候,可以将需要保护的功能添加到系统。

权限验证,功能级的权限验证逻辑非常简单。查看该当前登录用户的角色是否包含该功能的权限。如果有,则表示有权访问,否则表示无权访问。对于WEB系统,一般定义一个Filter就可以完成权限验证,无需在各个程序入口进行权限判断。

2、数据级权限管理技术

目前,数据级权限管理领域,一直没有统一的技术。大体上,软件开发人员采用如下技术:硬编码,也就是将这种逻辑以if/else等形式与业务代码耦合在一起,这种情况居多;使用规则引擎,也有一些企业将这种逻辑以规则形式提出来,并使用规则引擎解析规则;使用第三方专业软件,有开源中间件Ralasafe;开源框架Spring Security;商业产品Oracle Entitlements Server,IBM Tivoli Access Manager,UPMS通用用户权限系统等。硬编码形式弊端是非常显然的。耦合性强,难以测试;系统组件复用率低;系统后期改动代价非常大,牵一发而动全身。使用规则引擎可以解决很多问题,学习难度尚可。但规则引擎并不是专业用于权限管理的,所以对于复杂一些的权限管理,就显得力不从心。

Ralasafe和Oracle、IBM的商业产品一样,都是中间件形式。对应用系统和应用数据库结构没有要求。都有管理界面进行直接操控管理,而且都能在线进行测试。相比较,Ralasafe还可以控制查询权限(即从系统查询订单、查询客户等),Oracle、IBM的商业产品没有这方面功能;从产品学习难度来看,Ralasafe只要有一些IT经验,就能快速上手;Oracle、IBM产品即使是专业人员,也难以掌握。Spring Security是框架,需要对你的应用系统进行改动,你的系统必须在该框架进行设计编写。它只是帮助开发人员将权限提取出来了,但数据级权限还需要开发人员开发Voter。而且配置工作巨大,难以测试。

虽然上述提到的产品,都是Java产品。但Ralasfe和Oracle、IBM的商业产品,以中间件形式,可以部署在独立服务器上,使用web service等方式与非Java系统交互。

延伸阅读:

什么是权限管理?

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。 很多人常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混淆。

用户身份认证,根本就不属于权限管理范畴。用户身份认证,是要解决这样的问题:用户告诉系统“我是谁”,系统就问用户凭什么证明你就是“谁”呢?对于采用用户名、密码验证的系统,那么就是出示密码。当用户名和密码匹配,则证明当前用户是谁;对于采用指纹等系统,则出示指纹;对于硬件Key等刷卡系统,则需要刷卡。

密码加密,是隶属用户身份认证领域,不属于权限管理范畴。

系统管理,一般是系统的一个模块。而且该模块一般还含有权限管理子模块。因此,很多人误认为权限管理系统只是系统的一个小小的子模块。系统管理里面的权限管理模块,只是一个操作界面,让企业IT管理员能够设置角色等安全策略。系统背后还有很多权限验证逻辑,这些都并不属于该模块。总体来说,该模块相当于给权限管理模块提供了一些数据,比如:张三是人力资源经理等。

文章标题:权限管理有哪些技术,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35741

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年1月16日 下午10:24
下一篇 2023年1月16日 下午10:30

相关推荐

  • 库房管理系统的设计与实现

    库房管理系统的设计与实现是为了优化库存控制、提高库存准确性及提升出入库作业效率。系统设计时应考虑模块化设计、系统整合性、用户友好性、数据安全性与备份机制。例如,在模块化设计中,系统将分为入库管理、库存管理、出库管理等独立模块,实现特定功能,以提高整体的可用性和维护性。 库房管理系统的有效设计与实现基…

    2024年1月9日
    21800
  • ChatGPT如何在游戏开发中被应用

    ChatGPT在游戏开发领域主要的应用体现在 内容生成、玩家交互、开发支持、和测试反馈这四个核心指标上。通过 1、 利用自然语言处理技术生成游戏故事、对话和任务;2、 提供实时的玩家交互和客服支持;3、 协助开发者撰写和优化代码,提高开发效率;4、 作为测试者提供游戏的即时反馈和bug报告,Chat…

    2023年11月28日
    40800
  • oa更新是什么意思

    OA更新指的是对于办公自动化系统(Office Automation System)的升级或改进,旨在增强系统的功能、提升用户体验或修复现有问题。这些更新可能包括1、软件版本的升级;2、安全性能的加强;3、新功能的添加;4、用户界面的优化;5、系统稳定性的提升。例如,软件版本的升级能支持更多的文件格…

    2024年1月11日
    22600
  • 如何在UniApp中实现高效的音视频通话

    高效的音视频通话功能依赖于稳定的网络、优化的数据传输协议以及良好的用户界面设计。在UniApp中实现此功能,关键步骤包括:1、选择合适的音视频通话框架;2、保证网络连接质量;3、优化数据传输;4、提供清晰的用户界面。针对第一点,许多开发者选择使用WebRTC技术集成进UniApp中,由于其提供了现成…

    2023年12月22日
    46000
  • 项目如何做好成本管理工作

    项目成本管理是项目管理的核心组成部分,是确保项目在预算范围内完成的关键。要做好项目的成本管理工作,关键在于规划成本、估算成本、制定预算、和控制成本。其中,规划成本是基础,它为整个项目的成本管理奠定了基础。规划成本涉及到确定如何管理项目成本的政策、程序和文档。这一步骤确保了所有团队成员有明确的成本管理…

    2024年4月11日
    3900
  • jira项目管理怎么做

    要高效地利用Jira进行项目管理,你需要按照以下步骤:1.明确项目范围与需求;2.合理设置工作流;3.创建并优化看板;4.定期评估与跟踪;5.提高团队的Jira技能。在开始一个新项目时,首先要对其范围和需求有清晰的认识。与项目的利益相关者沟通,理解他们的需求和预期,这为后续在Jira中的项目设定奠定…

    2023年7月11日
    45300
  • 产品经理都使用什么软件

    产品经理使用的软件有:一、项目管理软件;二、原型设计软件;三、数据分析软件;四、团队协作软件。项目管理软件可以帮助规划、执行和监控项目,让我们更好地掌控项目进展。常见的项目管理软件有Jira、Trello、Asana等。 一、项目管理软件 项目管理软件是产品经理的必备工具之一,它可以帮助我们更好地规…

    2023年3月3日
    2.5K00
  • 仓管erp系统如何操作

    本文将深入介绍如何操作仓库管理ERP系统。主要内容包括:1、ERP系统的基本概念;2、ERP系统在仓库管理中的重要性;3、仓库管理ERP系统的基本操作流程;4、如何有效利用ERP系统提升仓库管理效率。文章旨在帮助仓库管理人员理解和掌握仓库管理ERP系统的操作方法,以实现更高效、更精准的仓库管理。 一…

    2023年8月3日
    69300
  • 博客营销有哪些优势

    博客营销的优势:1、流量优势;2、自主优势;3、引流优势;4、细分化程度高,广告定向准确;5、互动传播性强,信任程度高,口碑效应好;6、影响力大,引导网络舆论潮流;7、大大降低传播成本等。流量优势是指,博客平台的知名度能带来很大的流量。

    2023年1月6日
    71200
  • 什么公司devops做的好

    标题:领航DevOps之途的佼佼者 摘要:在信息技术的领域中,DevOps已经成为促进软件交付速度与质量的关键实践。彰显卓越的公司通过1、注重文化与工具的融合,2、持续集成和持续交付(CI/CD)的优化,以及3、自动化与监控的完善在这一领域中遥遥领先。其中,注重文化与工具的融合不仅催生了创新的工作氛…

    2024年3月26日
    5300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部