腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

开源权限管理中间件 Ralasafe 发布 1.0 rc2 版

  • 2010-08-09
  • 本文字数:2650 字

    阅读完需:约 9 分钟

Ralasafe 是一款国产开源数据级权限管理中间件,使用 MIT 协议,最近发布了 1.0 rc2 版。项目采用 Java 语言编写,解开权限与业务的耦合,将权限策略集中管理,并使用图形化的管理模式。InfoQ 中文站就 Ralasafe 的应用场景、技术架构和未来规划等问题对项目负责人汪金保进行了专访。

InfoQ 中文站:作为一款权限管理中间件,Ralasafe 的典型应用场景包括哪些?

Ralasafe 与各种应用系统结合,提供两种权限管理服务,对应场景是: 1. 行为权限:基于角色的权限管理 ——比如:张三是销售经理,能够查询订单;李四是人力资源经理,能够修改客户资料等。
2. 数据级权限:更加细粒度的数据内容权限管理——比如:总公司的销售经理王大大能够查询所有订单,北京分公司的销售经理吴北北只能查询北京分公司及下属子公司订单。

Ralasafe 使用 Java 编写的中间件,与 Java 系统结合非常方便。与其他系统,需要 web service 等交互方式。

InfoQ 中文站:相比同类商业软件如 TAM、OES,Ralasafe 存在哪些优势?

TAM(Tivoli Access Manager) 和 OES(Oracle Entitlements Server) 发展年份非常长,属于业内老牌软件。Ralasafe 从 2004 年开始研发,相对于 TAM、OES,还非常年轻。 三款产品都定位于数据级权限管理领域,Ralasafe 与 TAM、OES 相比,做了很多创新。比如:TAM、OES 的权限策略,完全基于规则。Ralasafe 则提出了“用户分类”和“资源”的概念,然后用规则来描述“用户分类”、“资源”。相比较,Ralasafe 具有这样的优势:

  1. 产品功能:TAM、OES 和 Ralasafe 都能控制决策权限,但只有 Ralasafe 能够控制查询权限。比如根据规则,吴北北“能够修改北京订单”,所以吴北北能够修改订单 A、订单 B。但吴北北能够查询哪些订单呢,这种查询只有 Ralasafe 能够控制。
  2. 产品定位:Ralasafe 定位为轻量级,开发人员容易集成,最终用户通过 Ralasafe 界面能自我操控授权策略。
  3. 产品友好易用性:Ralasafe 独创“用户分类”和“资源”的概念,并将其配对成授权策略。该方法不仅增强了授权策略的可读性,也增加了复用性。Ralasafe 和很多开源软件不同,使用 Ralasafe 几乎不需要 JAVA/XML 编程配置工作,全程使用 Ralasafe 友好的图形化界面。

InfoQ 中文站:能否介绍一下 Ralasafe 的系统架构以及所用到的技术?

Ralasafe 主要由两大块组成:安全引擎和 GUI 管理界面。安全引擎用来解析授权策略,为应用系统提供决策支持,查询服务;开发人员和最终用户可以通过 GUI 管理界面来管理授权策略,还可以进行在线测试。 Ralasafe 的安全引擎由 Java 编写的,使用了 beanshell、castor 技术。因为 Ralasafe 涉及的 ORM 是动态的,不能像 hibernate 那样要事先编写 hbm.xml 文件,所以 Ralasafe 自己编写了一套 ORM。

Ralasafe 的 GUI 管理界面,使用 GWT 技术,结合 GWT-EXT、EXT 技术。我们使用的 ext2.0.2 版本,该版本使用 LGPL 协议。由于后继版本使用 GPL 或者商业授权协议,对商业并不友好。因此下一版本,我们将寻求其他前台技术。

InfoQ 中文站:在应用 Ralasafe 过程中,开发人员需要注意哪些步骤?

不少开发人员接触 Ralasafe 后,问得最多的问题是: 1. 怎样与应用集成
2. 怎样使用 Ralasafe 编程

Ralasafe 是一款中间件,提供权限管理服务。就像 LOG4J 提供日志服务一样,在需要的地方调用一下服务即可。就我们的项目实践经验,认为在控制层接入 Ralasafe 服务非常合适。 Ralasafe 的接口非常简单,主要是 3 个类。用户类——org.ralasafe.User、Ralasafe 服务类 ——org.ralasafe.Ralasafe 和针对 Web 的服务类——org.ralasafe.WebRalasafe。另外,Ralasafe 提供的一些 Filter,也可以大幅减少编程工作。如登录控制 Filter,Url 访问权限控制,这些都只需要对 web.xml 进行简单配置即可。

关于怎样使用 Ralasafe 编程,这个需要转换一下思想。Ralasafe 几乎不需要 JAVA/XML 编程配置工作。首先,开发人员要关注于良好的项目实践:业务逻辑与权限逻辑分离解耦。在需要权限的地方,通过 API 或者 AOP 的方式注入。再次,权限逻辑是使用 Ralasafe 管理界面里面进行管理,不必进行编程或者 XML 配置。很多开发人员都习惯于以往的开发配置模式,所以对 Ralasafe 的图形化管理模式还不太习惯。

InfoQ 中文站:未来 Ralasafe 的发展规划如何?

Ralasafe 的发展方向是:专注于应用安全领域,保持第三方独立性,为最终用户提供“自我掌控的安全”软件及服务。Ralasafe 服务软件开发商、企业和最终用户。 Ralasafe 开发团队,向社会做出两项承诺:免费、开源。不增加软件开发企业的负担,也广思集益,打造稳定最好用的产品。以开放、第三方独立性和良好易用性为目标,不断为软件商服务,为企业和最终用户提供一站式安全管理服务。

InfoQ 中文站:该项目投入到开源世界,您有何期望?

Ralasafe 从 2004 年开始研发,2009 年正式向市场发布。当时我们使用闭源模式,商业推广。也做了几个单子,但我们也听到很多市场的声音:

  1. 很多企业认为 Ralasafe 很好,但商业的软件,不愿意使用。
  2. 有些企业尤其是大企业,像 Ralasafe 这样的安全软件,采取闭源模式不放心。
  3. 很多开发人员呼吁我们,希望我们开源。

鉴于这些情况,我们团队慎重考虑后,决定开源免费。就像起先我们花费 5 年研发时间一样,这次开源免费,我们也会不断坚持,做个负责任的开源团队。 开源后,我们看到软件下载量不断增加,很多网友通过 email/ 社区 /QQ/gtalk 等方式,与我们互动沟通。不仅找出我们软件的一些 BUG,也让我们学习到很多东西,让我们不断提高,软件品质不断提高。开源并不像我们原来所想,只是付出。开源更是双赢。

在地域方面,我们已经推出中英文软件和中英文网站,为全球用户无偿服务。

在商业方面,Ralasafe 的商业模式主要是赞助商和咨询定制服务。开源一个月以来(2010 年 6 月 23 日开源的),已有 10 多位客户与我们洽谈合作。这也让我们看到了希望。当前,我们团队非常期望有些企业能够成为我们的赞助商。

我们也期望中国开源软件,越来越多,更多软件走向国际,形成大气候。

InfoQ 会继续关注国内开源社区的发展动态,对 Ralasafe 项目感兴趣的朋友可以访问其官方网站或者论坛了解更多细节。

专家介绍:汪金保,Ralasafe 项目负责人,首席架构师。2000 年开始接触 Java,立马喜欢上该编程语言。从事多项银行项目研发。2004 年辞职专注于 Ralasafe 研发。我喜欢简单,不喜欢复杂;我喜欢自由,不喜欢束缚;我喜欢不断反省自己,又不断与周边的朋友分享。除了 IT 外,还喜欢民歌,戏曲,读书,网球和乒乓球。我的 Email: wangjbao[at]gmail.com,期望与大家交流。

2010-08-09 00:276062
用户头像

发布了 501 篇内容, 共 232.8 次阅读, 收获喜欢 54 次。

关注

评论

发布
暂无评论
发现更多内容

android热修复基本原理,15分钟的字节跳动视频面试,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

博云入选2021爱分析·产业数字化厂商全景报告

BoCloud博云

云计算 云原生 PaaS 博云

iOS--面试题:多线程

ios 面试 多线程

2021金三银四:狂刷398道Java最新MySQL笔记;成功收获9个Offer

比伯

Java MySQL 编程 架构 计算机

卧槽,误删数据库了,会被开除吗?

AI乔治

Java 数据库 sql 架构 SQL语法

聪明人的训练(十四)

Changing Lin

4月日更

特权访问管理(PAM)即服务

龙归科技

当造车成为风潮,谁帮助“造车党”连接未来?

脑极体

GitHub持续霸榜!2021年Java核心知识:面试突击版

Java架构之路

Java 程序员 架构 面试 编程语言

理论 + 标准 + 工程 —— 阿里云视频云编码优化的思考与发现

阿里云视频云

阿里云 视频编码 视频算法 视频处理

架构实战营 - 模块 2- 作业

carl

架构实战营

云上接单不空跑 京东云助力“佬司机”为货运物流业降本增效

CECBC

京东云

Android面试送分题:大厂经典高频面试题体系化集合,实战篇

欢喜学安卓

android 程序员 面试 移动开发

从中国企业进入IEC最高决策机构,看科技领先的产业价值与用户价值

脑极体

工业互联网的脖子被卡死了?

浪潮云

工业互联网

入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

Java架构追梦

Java 架构 字节跳动 面试

剖析6个MySQL死锁案例的原因以及死锁预防策略

北游学Java

Java MySQL 数据库 死锁

JVM-技术专题-方法区中常量池分析

洛神灬殇

JVM 常量池

想来百万流量技术公众号发布文章吗? InfoQ 开放内容平台了!

xiaotan

InfoQ 的朋友们 热门活动

小厂逆袭美团|5年经验|一二三面经,已拿offer|

Java架构追梦

Java 架构 面试 美团Offer

spring中让你眼前一亮的代码技巧

AI乔治

Java spring 架构 微服务

全国沿海港口首个区块链木材业务服务平台上线试运行,“区块链+港口”撬动数千万元“福利”

CECBC

港口

HikariCP-技术专题-配置介绍和使用

洛神灬殇

APM-技术专题-监控系统选型

洛神灬殇

APM 监控

硬核!阿里内部这份《Java面试核心知识手册》在Github上已获赞高达89.7K!

Java架构之路

Java 程序员 架构 面试 编程语言

如果以这样的方式,你愿参与到碳普惠行动中吗?

CECBC

区块链

想来百万流量技术公众号发布文章吗? InfoQ 开放内容平台了!

InfoQ写作社区官方

热门活动

一个CURD三年的Java程序员刷完这份《阿里面试指南(恒山版)》,居然斩获了十七个offer

Java架构之路

Java 程序员 架构 面试 编程语言

一篇文章了解CI/CD管道全流程

禅道项目管理

DevOps 持续集成 持续交付

代码回现 | 如何实现交易反欺诈?

VoltDB

数据分析 金融科技 VoltDB

自学Java走进阿里,仅用了六个月,他是怎么做到的?

Java架构师迁哥

开源权限管理中间件Ralasafe发布1.0 rc2版_Java_崔康_InfoQ精选文章